我在Javascript 20130927
中有这两个字符串,它代表一个日期,而192600
代表一小时。我想使用Moment.js库将它们解析为有效的Date / Time元素,但在我需要转换为有效的日期javascript对象之前,我需要将字符串转换为2013-09-27
或{{1 (虽然两者都有效)和2013/09/27
。我阅读了有关19:26:00
和slice()
方法但未了解如何使用它们来实现预期结果的方法。有什么帮助吗?
答案 0 :(得分: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
构造函数。
答案 1 :(得分: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) }
有关其他信息,请参阅here。