2013-08-01 191 views
0

我做的兩個不同的日期時間檢查,以查看是否有大於其他:javascript日期添加上午下午

這是我(現在)當前日期時間:週四2013年8月1日10:27: 40 GMT-0500(CDT) 這是我的日期時間,我看到它是大於還是小於:Thu Aug 01 2013 12:15:00 GMT-0500(CDT) - (應該是上午12:15順便說一下)

這裏是我的代碼:

var current_date_time = new Date(); 
var date_time_checking_against = new Date(date_segment[0], date_segment[1]-1, date_segment[2], time_segment[0], time_segment[1]); 

所出到週四2013年8月1日12時15分○○秒格林尼治標準時間0500(CDT)。然後我做一個簡單的如果檢查:

if(current_date_time >= date_time_checking_against){ } 

這不工作,因爲10:27:40不是12:15:00之後。但它應該是,看看兩個時代都是如何。我需要知道這是否是正確的方式,或者是否有方法將其更改爲24小時格式或在某處添加am pm。任何幫助非常感謝,讓我知道如果你需要更清晰。

謝謝!

編輯:

下面是日期時間排列:

var date_time_str = date+' '+time; 
date_time_str = date_time_str.split(' '); 
["2013-08-01", "12:15", "am"] // result from split above 
var date_segment = date_time_str[0].split('-'); 
var time_segment = date_time_str[1].split(':'); 
var date_time_checking_against = new Date(date_segment[0], date_segment[1]-1, date_segment[2], time_segment[0], time_segment[1]); 
+0

什麼是「date_segment」數組?將日期記錄到控制檯時,該日期會是什麼樣子? – Pointy

+0

你的第二個日期是PM還是'00:15:00' – NDM

+0

我如何將amp pm字符串添加到Date對象中? –

回答

1

鑑於以下數據源,你這是怎麼會妥善爲它創建Date對象...

date_time_str = ["2013-08-01", "12:15", "am"]; 
var date_segment = date_time_str[0].split('-'); 
var time_segment = date_time_str[1].split(':'); 
var date_time_checking_against = new Date(
    date_segment[0], // year 
    date_segment[1]-1, // month of year 
    date_segment[2], // day of month 
    (time_segment[0]%12) + (date_time_str[2] == 'pm' ? 12 : 0), // hour of day 
    time_segment[1]); // minute of hour 
console.log(new Date() >= date_time_checking_against); // true, we've already passed this time 
+0

AAGH這麼簡單!謝謝你,兄弟!祝你有美好的一天! –

+0

哈哈,你也是! – Pluto