我想将日期转换为时间戳,我的输入是26-02-2012。我使用

new Date(myDate).getTime();

上面写着NaN..有人能告诉我怎么转换吗?


当前回答

+新的日期(替换) 这应该将myDate转换为timeStamp

其他回答

function getTimeStamp() {
       var now = new Date();
       return ((now.getMonth() + 1) + '/' + (now.getDate()) + '/' + now.getFullYear() + " " + now.getHours() + ':'
                     + ((now.getMinutes() < 10) ? ("0" + now.getMinutes()) : (now.getMinutes())) + ':' + ((now.getSeconds() < 10) ? ("0" + now
                     .getSeconds()) : (now.getSeconds())));
}

第一个答案是好的,但是使用react typescript会报错,因为split(") 对我来说,更好的方法是。

parseInt((new Date("2021-07-22").getTime() / 1000).toFixed(0))

很乐意帮忙。

如果你还需要增加时间,这个方法也能奏效 new Date('2021-07-22 07:47:05.842442+00').getTime()

这在没有时间的情况下也同样有效 new Date('2021-07-22 07:47:05.842442+00').getTime()

这也可以工作,但它不会接受时间 新日期(2021/07/22).getTime ()

最后,如果所有的都不工作,使用这个 日期(年,月,日,时,分,秒,毫秒)

注意,对于Month,计数从0开始,因此Jan === 0, Dec === 11

您的字符串不是Date对象指定要处理的格式。您必须自己解析它,使用像MomentJS这样的日期解析库或更老的DateJS(据我所知,目前还没有维护),或者在要求date解析它之前将其调整为正确的格式(例如,2012-02-29)。

为什么你得到NaN:当你要求new Date(…)处理一个无效的字符串时,它返回一个Date对象,该对象被设置为无效的日期(new Date("29-02-2012"). tostring()返回" invalid Date ")。在此状态下对日期对象调用getTime()将返回NaN。

您可以使用valueOf方法

new Date().valueOf()