如何在字符串中的多个位置插入字符串?

时间:2013-09-29 12:11:50

标签: javascript jquery datetime momentjs

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

2 个答案:

答案 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