2016-12-28 57 views
0

我想比较实际的日期这样的格式,我从服务器接收:我怎样才能得到这种格式的实际日期?

item.expires_date.slice “2016年11月28日22点10分57秒ETC/GMT”在javascript这怎么可能?专为部分ETC/GMT

在这种情况下我只是想比较2016年11月28日 我怎么能做到这一点:

var today = new Date().toISOString().slice(0, 10); 

    if(item.expires_date.slice(0, 10) > today) { 
console.log("This item have expired"); 

    } else { 

     console.log("this item has not expired"); 
    } 

     } 

这是行不通的,因为它带来的项目尚未过期比较日期: 2016-11-28 - 2016-12-28 谢谢!

回答

2

由于 “ETC/GMT” 是一样的 “GMT + 00:00”,你可以从字符串中删除,并创建一个Date对象:

var s = "2016-11-28 22:10:57 Etc/GMT"; 
 
var d = new Date(Date.parse(s.replace("Etc/", ""))); 
 
console.log(d.toString());

然后你可以将d与当前日期进行比较。

+0

谢谢我使用了部分代码 – arnoldssss

+0

要小心,剥离时区部分意味着它将被视为本地,因此表示每个时区具有不同偏移量的不同时刻。那是需要的吗?或者它应该始终是GMT? – RobG

+0

等/没有任何偏移量的GMT是UTC日期,应该这样解析,当区域设置日期与UTC不同时(通常情况下),上述代码将失败。请参阅[本答案](http://stackoverflow.com/questions/7303580/understanding-the-etc-gmt-time-zone)了解有关Etc/GMT的更多信息。 –

相关问题