我想向 moment.js 传递一个字符串 10-01-2014
,并根据该字符串来自哪个字段附加 00:00:00
> 或 23:59:59
到传递的字符串。根据该字段,我可以附加其中一个或另一个。然而,moment.js 告诉我“无效日期”,我收集的是我创建的要使用的字符串。
目前,我正在使用 jQuery UI 和日期选择器小部件来获取字符串的初始部分 mm-dd-yyyy,但我的最终目标是通过午夜 00:00:00
或当天午夜 23:59:59
并从中创建一个标准时间戳。我也使用时区,从中我从其他地方获取时区字符串,因此它不是一个因素,而只是将其放入荣誉奖中。
我上次失败的尝试是:
console.log(moment($beginElem.val() + ' 00:00:00').tz(timezone_str).format('X'));
最佳答案
当您将“10-01-2014”之类的字符串传递给 momentjs 时,它将创建一个日期“0010-01-01”,因为它需要“2014-10-01”格式。
我想你总是必须首先解析你的输入并将正确的格式传递给 momentjs。您可以通过以下方式执行此操作:
var string = '10-01-2014',
strDate = string.split('-');
// note: month is zero base index
var m = moment({
year: strDate[2],
month: strDate[0] - 1,
day: strDate[1],
hour: '00',
minute: '00',
seconds: '00'
});
console.log(m.format('X'));
关于javascript - 使用 moment.js 可以从给定的字符串创建时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26548669/