2015-07-01 58 views
1

我使用表達式引擎,我把我的日期字段在JavaScript變量,它解析如下:如何比較不同格式(JavaScript)的2個日期

1435269960 

所以我要檢查,如果這個日期比今天早或沒有。但是,當我創建一個日期對象,我做的console.log(日期),它讓我看到這種日期:

Wed Jul 01 2015 18:14:33 GMT-0400 (Eastern Daylight Time) 

如何將此格式更改爲第一個?

Thx!

+0

只要使用'Date.now()'' – galactocalypse

回答

1

你可以做到這一點,像這樣:

var dateNumber = 1435269960; 
var convertedDate = new Date(1000*dateNumber); 
var today = new Date(); 

if(convertedDate < today) 
    $(".date").html("The date is in the past<br/><br/>" + convertedDate + "<br/>vs<br/>" + today); 
else 
$(".date").html("The date is today or in the future<br/> (" + convertedDate + ") vs (" + today + ")"); 

演示:http://jsfiddle.net/db9ms49z/

+0

這很好。 +1 –

+0

良好的答案解釋了這個問題,以及爲什麼建議的解決方案可以解決這個問題,例如[*如何將unix時間戳轉換爲JavaScript日期對象(考慮時區)*](http://stackoverflow.com/questions/11656601/how-to-convert-unix-timestamp-to-javascript-date-object-consider -時區)。 – RobG

1

當您想要一個Date對象的長整型值時,您可以調用valueOf()方法:date.valueOf() < 1435269960

+0

+ date'較短,'date.getTime()'可能是更多的語義,但'日期<1435269960'就足夠了。 ;-) – RobG

+0

valueOf方法是將整數運算符支持爲對象的<<和'+的正確方法。在''valueOf'的引擎下被調用,所以我想這是最乾淨的方式來做到這一點。例如:'+({valueOf:function(){return 5;}})'返回'5'。 –