我有一个保存在字符串中的日期,格式如下:
该值由后端服务提供。
现在,在javascript中,如果时间戳大于当前时间戳,我如何比较?我的意思是,我需要知道那个时间是否已经发生,或者还没有计入小时和分钟,而不仅仅是日期。
发布于 2017-09-29 06:14:28
您还可以将其转换为unix时间:
console.log(new Date('2017-09-28T22:59:02.448804522Z').valueOf())
const currentTime = new Date('2017-09-28T22:59:02.448804522Z').valueOf()
const expiryTime = new Date('2017-09-29T22:59:02.448804522Z').valueOf()
if (currentTime < expiryTime) {
console.log('not expired')
}
发布于 2017-09-29 06:12:13
const anyTime = new Date("2017-09-28T22:59:02.448804522Z").getTime();
const currentTime = new Date().getTime();
if(currentTime > anyTime){
//codes
}
发布于 2017-09-29 06:14:50
如果可以,我会使用moment.js
*
https://momentjs.com/
您可以创建一个矩,指定字符串的确切格式,例如:
var saveDate = moment("2010-01-01T05:06:07", moment.ISO_8601);
然后,如果您想知道
是在过去:
布尔isPast = (now.diff(saveDate) > 0);
如果你不能包含一个外部库,你将不得不用字符串解析出年、日、月、小时等--然后手动计算转换成毫秒。然后使用Date对象,您可以获得毫秒数:
var d = new Date();
var currentMilliseconds = d.getMilliseconds();
在这一点上,您可以将您的毫秒数与currentMilliseconds进行比较。如果currenMilliseconds更大,那么saveDate就是过去的。
https://stackoverflow.com/questions/46478974
复制相似问题