从日期中删除秒/毫秒转换为 ISO 字符串

新手上路,请多包涵

我有一个我想要的日期对象

  1. 删除毫秒/或设置为 0
  2. 删除秒/或设置为 0
  3. 转换为 ISO 字符串

例如:

 var date = new Date();
//Wed Mar 02 2016 16:54:13 GMT-0500 (EST)

var stringDate = moment(date).toISOString();
//2016-03-02T21:54:13.537Z

但最终我真正想要的是

stringDate = '2016-03-02T21:54:00.000Z'

原文由 tester123 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 633
2 个回答

虽然这很容易用纯 JavaScript 解决(请参阅 RobG 的回答),但我想向您展示 Moment.js 解决方案,因为您将问题标记为“momentjs”:

 moment().seconds(0).milliseconds(0).toISOString();

这为您提供了当前日期时间,没有秒或毫秒。

工作示例:http: //jsbin.com/bemalapuyi/edit ?html,js,output

来自文档:http: //momentjs.com/docs/#/get-set/

原文由 jszobody 发布,翻译遵循 CC BY-SA 4.0 许可协议

不需要库,只需将秒和毫秒设置为零并使用内置的 toISOString 方法:

 var d = new Date();
d.setSeconds(0,0);
document.write(d.toISOString());

注意:IE 8 及更低版本不支持 toISOString ,MDN 上有 pollyfil

原文由 RobG 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题