2013-06-25 85 views
-1

如何計算兩次之間的差異,例如(服務器時間= 04:30 pm和<p id="orderTime">02:30 pm</p>),並使用jquery和javascript在90分鐘內將其返回。服務器時間和訂單時間爲12小時格式,而不是24小時。計算兩次以分鐘爲單位的差異

+0

它永遠是一門功課以'HH:mm am'格式? – zerkms

+0

如何返回服務器時間?一個字符串? JSON格式的日期時間?它是否存儲在一個變量中?你能顯示檢索它的代碼嗎? – pete

+0

時間是在HH:毫米上午/下午格式,它應該在幾分鐘內返回00:60/60分鐘 – gjman2

回答

1

如果你能保證他們始終將這種格式的,那麼這裏有一個簡單的解決方案:

function humanReadableToMinutes(time) 
{ 
    var parts = time.split(/ |:/); 

    return (parts[2] == 'pm' * 12 * 60) 
     + parseInt(parts[0], 10) * 60 
     + parseInt(parts[1], 10); 
} 

http://jsfiddle.net/aYwux/2/

說明:

  1. 通過var parts = time.split(/ |:/);我們分裂02:30 pm分爲3部分:02,30,pm

  2. return (parts[2] == 'pm' * 12 * 60) + parseInt(parts[0], 10) * 60 + parseInt(parts[1], 10);包含3個操作數:

    * (parts[2] == 'pm' * 12 * 60) --- adds additional 12 hours if it's "pm" 
    * parseInt(parts[0], 10) * 60 - takes hours fraction extracted and converts it to minutes 
    * parseInt(parts[1], 10) - minutes fraction 
    

PS:此解決方案不照顧12am12pm準確的,所以它的OP

+0

你能否向我解釋一下你的代碼。因爲我喜歡嘗試去理解它 – gjman2

+1

順便說一句,我想聽聽downvoter的批評:-) – zerkms

+1

@ gjman2:現在清楚了嗎? – zerkms

相關問題