我想将日期转换为时间戳,我的输入是26-02-2012。我使用
new Date(myDate).getTime();
上面写着NaN..有人能告诉我怎么转换吗?
我想将日期转换为时间戳,我的输入是26-02-2012。我使用
new Date(myDate).getTime();
上面写着NaN..有人能告诉我怎么转换吗?
当前回答
简单地在Date对象上执行一些算术运算将返回时间戳作为数字。这对于简洁表示法很有用。我发现这是最容易记住的方法,因为该方法也适用于将转换为字符串类型的数字转换回数字类型。
let d = new Date(); Console.log (d, d * 1);
其他回答
对于那些希望具有yyyymmddHHMMSS格式的可读时间戳的人
> (new Date()).toISOString().replace(/[^\d]/g,'') // "20190220044724404"
> (new Date()).toISOString().replace(/[^\d]/g,'').slice(0, -3) // "20190220044724"
> (new Date()).toISOString().replace(/[^\d]/g,'').slice(0, -9) // "20190220"
使用示例:备份文件扩展名。/我的/ / my.file.js.20190220路径
第一个答案是好的,但是使用react typescript会报错,因为split(") 对我来说,更好的方法是。
parseInt((new Date("2021-07-22").getTime() / 1000).toFixed(0))
很乐意帮忙。
它应该是这个标准日期格式YYYY-MM-DD,以使用下面的等式。例如:2020-04-24 16:51:56或2020-04-24T16:51:56+05:30。它将工作良好,但日期格式应该像这样的YYYY-MM-DD。
var myDate = "2020-04-24";
var timestamp = +new Date(myDate)
您的字符串不是Date对象指定要处理的格式。您必须自己解析它,使用像MomentJS这样的日期解析库或更老的DateJS(据我所知,目前还没有维护),或者在要求date解析它之前将其调整为正确的格式(例如,2012-02-29)。
为什么你得到NaN:当你要求new Date(…)处理一个无效的字符串时,它返回一个Date对象,该对象被设置为无效的日期(new Date("29-02-2012"). tostring()返回" invalid Date ")。在此状态下对日期对象调用getTime()将返回NaN。
/**
* Date to timestamp
* @param string template
* @param string date
* @return string
* @example datetotime("d-m-Y", "26-02-2012") return 1330207200000
*/
function datetotime(template, date){
date = date.split( template[1] );
template = template.split( template[1] );
date = date[ template.indexOf('m') ]
+ "/" + date[ template.indexOf('d') ]
+ "/" + date[ template.indexOf('Y') ];
return (new Date(date).getTime());
}