我想检查当前的utc时间是否少于活动日期的1天。我通过的事件日期减去了一天。基本上我是在寻找当前的utc时间是否比事件日期少一天,但是这个查询是假的,而不是真的!!
离。在utc时间和1天之后通过,然后检查它是否距离当前时间不到一天
if (moment().utc().isSameOrAfter(moment("4/13/2018 7:30:00 PM").add(-1, 'days').utc())) {
// returns false but should be true because it's less then one day from 4/13/2018 7:30PM
}
答案 0 :(得分:3)
问题在于您解析输入的方式。由于"4/13/2018 7:30:00 PM"
既不是ISO 8601也不是RFC 2822已知格式,因此您必须使用moment(String, String)
代替moment(String)
:
当从字符串创建片刻时,我们首先检查字符串是否与已知的ISO 8601格式匹配,然后检查字符串是否与RFC 2822日期时间格式匹配,然后再下降到新日期(字符串)的后退(如果已知)找不到格式。
为了解析除ISO 8601字符串以外的任何其他内容的一致结果,您应该使用String + Format。
在您的情况下,您可以使用:
moment("4/13/2018 7:30:00 PM", "M/D/YYYY h:mm:ss A")
而不是
moment("4/13/2018 7:30:00 PM")