2010-05-18 53 views
1

如果我有4個變量如何判斷字符串時間-A是否在時間-B之前?

startTime; endTime; startMerid; endMerid;

startMarid和endMarid要麼是'AM'要麼是'PM'。

但開始時間和結束時間都將是字符串,如「DD:DD」

所以可以開始:12:30 PM和結束:5:30 PM

我如何可以驗證結束時間不得早於開始時間?

謝謝!

回答

9

您可以使用DateJS

Date.parse('12:30pm') < Date.parse('5:30pm'); // true 

編輯

賈斯汀下方有個好點。你可以找到最新的en-US版here

你可以找到別人/trunk/build

編輯2016

對於那些達不到這個職位在2016+,它看起來像一個越漲DateJS的日期回購現在在GitHub:https://github.com/datejs/Datejs

此外,它似乎MomentJS這些天是非常流行的選擇。

+3

這是一個偉大的插件,但必須非常小心,你下載什麼版本的這個插件。頭版仍然鏈接到2007年11月的一個版本,儘管SVN提供了另一個版本,有大約一年的修復。當我被DateJS認爲「A」在「2009年8月4日」是爲了'AM'的錯誤而被燒燬時,我發現這一點很難... – 2010-05-18 15:32:33

+0

@Justin Ethier - 謝謝,我一直在使用11月2007版多年! – Matt 2010-05-18 15:37:37

2

解析出小時和分鐘字段,因此您有兩個單獨的變量。然後加入12小時,如果它是PM,除非小時值已經是12。然後,您可以直接比較值:

if (startTimeHrs * 60 + startTimeMins) > 
    ( endTimeHrs * 60 + endTimeMins){ ... } 
+1

'然後加上12小時,如果它是PM.' ruh-roh ...如果在12點到12點59分之間你不能加12小時! – 2010-05-18 15:34:41

相關問題