我正在尝试比较从数据库(firebase)到现在的日期。我正在使用moment.js,但它不起作用。我认为这与时区(或UTC+01:00)有关.
举例说明。
我现在与moment()
进行比较,如下所示:
var date1 = moment("2016-11-20T14:00:00");
moment(date1).isSameOrAfter( moment() ) // returns true
对比正好是一个小时..。我怎么才能解决这个问题?在跨时区存储和比较日期方面有什么最佳做法吗?
发布于 2016-11-20 14:42:14
您无法将存储在Firebase中的日期与now()进行比较,因为它缺乏有关您的时区的信息。
您可以使用Firebase.ServerValue.TIMESTAMP
存储日期
例如:
date1: Firebase.ServerValue.TIMESTAMP
这将节省Firebase数据库服务器在Unix毫秒(自Unix时代以来的时间,以毫秒为单位)的时间。
然后,您可以与new Date().getTime()
进行比较,这将给您的设备时间(以Unix毫秒为单位)。
例如:
if(new Date().getTime() >= date1) {
//do something
}
希望它有帮助:)
https://stackoverflow.com/questions/40704910
复制相似问题