0

我在 Javascript 中有这两个字符串,20130927这代表一个日期,192600它是一个小时。我想使用Moment.js库将它们解析为有效的日期/时间元素,但在我需要转换为有效的日期 javascript 对象之前,我需要将字符串转换为2013-09-272013/09/27(我虽然两者都是有效的)和19:26:00. 我阅读了slice()substr()方法,但不知道如何使用它们来达到预期的结果。有什么帮助吗?

4

2 回答 2

2

你可以substring这样使用:

str = "20130927"
year = str.substring(0,4)
month = str.substring(4,6)
day = str.substring(6,8)

然后创建一个新的 Date 对象,如下所示:

new Date(year, month, day)

暂时你会做类似的事情并将结果作为附加参数传递给Date构造函数。

于 2013-09-29T12:14:17.467 回答
2

您应该能够使用 moment 的内置解析器。

这些方面的东西对我有用:

var moment = require('moment');
var date = "20130927";
var hour = "192600";
var newDateTime = moment(date+hour, "YYYYMMDDHHmmss");
console.log(newDateTime)

输出:

{ _i: '20130927192600',
  _f: 'YYYYMMDDHHmmss',
  _l: undefined,
  _isUTC: false,
  _a: [ 2013, 8, 27, 19, 26, 0, 0 ],
  _d: Fri Sep 27 2013 19:26:00 GMT-0400 (EDT) }

请参阅此处了解更多信息。

于 2013-09-29T12:24:53.150 回答