[英]javascript - compare dates in different formats
我有兩個日期,我需要比較,看看是否有一個比另一個更大,但他們有不同的格式,我不知道比較2的最佳方式。
格式是:
1381308375118
(這是var futureDate)
由...創建
var today = new Date(); today.setHours(0, 0, 0, 0); var futureDate = new Date().setDate(today.getDate() + 56); //56 days in the future...
而另一種格式是
2013/08/26
我有什么想法可以比較2嗎?
如果不使用第三方庫,您可以使用這兩種格式創建新的Date
對象,使用getTime()
檢索毫秒數(自1970年1月1日午夜起getTime()
,然后只需使用>
:
new Date("2013/08/26").getTime() > new Date(1381308375118).getTime()
我會確保我正在比較每種格式的“日期”元素並排除任何“時間”元素。 然后將兩個日期轉換為毫秒,只需比較這些值。 你可以這樣做。 如果日期相等則返回0,如果第一個日期小於第二個日期則返回-1,否則返回1。
使用Javascript
function compareDates(milliSeconds, dateString) {
var year,
month,
day,
tempDate1,
tempDate2,
parts;
tempDate1 = new Date(milliSeconds);
year = tempDate1.getFullYear();
month = tempDate1.getDate();
day = tempDate1.getDay();
tempDate1 = new Date(year, month, day).getTime();
parts = dateString.split("/");
tempDate2 = new Date(parts[0], parts[1] - 1, parts[2]).getTime();
if (tempDate1 === tempDate2) {
return 0;
}
if (tempDate1 < tempDate2) {
return -1;
}
return 1;
}
var format1 = 1381308375118,
format2 = "2013/08/26";
console.log(compareDates(format1, format2));
也許您可以使用Date.parse("2013/08/26")
並與之前的版本進行比較
請按照以下步驟比較日期
您的每個日期必須通過Date
對象,即new Date(yourDate)
。 現在日期將具有相同的格式,這些將具有可比性
let date1 = new Date() let date2 = "Jan 1, 2019" console.log(`Date 1: ${date1}`) console.log(`Date 2: ${date2}`) let first_date = new Date(date1) let second_date = new Date(date2) // pass each of the date to 'new Date(yourDate)' // and get the similar format dates console.log(`first Date: ${first_date}`) console.log(`second Date: ${second_date}`) // now these dates are comparable if(first_date > second_date) { console.log(`${date2} has been passed`) }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.