2010-08-23 49 views
2

我有一個問題,我怎麼能改變時間從24小時格式到12,最簡單的方法,在JavaScript或JQuery中。javascript,jquery時間格式

這是我有:

TempDate = $.datepicker.formatDate('MM dd, yy', TempDate); 
var ChangeDate = TempDate + " " + TradeTime;  

現在TradeTime= 15:59,但我想成爲3:59PM

什麼是最簡單的方法,或者我可以使用datapicker或迫使該格式在同一時間日期。

感謝

+0

那麼哪裏是「TradeTime」從何而來?你沒有在你的樣本中顯示。 – Pointy 2010-08-23 13:38:48

+0

它只是一個字符串,現在爲 – AlexC 2010-08-23 13:42:30

+0

... ??那麼,你怎麼製作這個字符串?如果你把它放在一起,爲什麼不把它放在你想要的方式呢?我很困惑。 – Pointy 2010-08-23 14:01:55

回答

1

幫我:

  TradeTime = ("" + TradeTime).split(":",2); 


     if (TradeTime[0] < 12) 
      { 
      a_p = "AM"; 
      } 
     else 
      { 
      a_p = "PM"; 
      } 
     if (TradeTime[0] == 0) 
      { 
      TradeTime[0] = 12; 
      } 
     if (TradeTime[0] > 12) 
      { 
      TradeTime[0] = TradeTime[0] - 12; 
      } 
3

恐怕你就只能手動,快速ñ骯髒做,現在;)

 function to12Hrs(strHrs, strMin) {    
     var hrs = Number(strHrs); 
     var min = Number(strMin); 
     var ampm = "am"; 

     if(isNaN(hrs) || isNaN(min) || hrs > 23 || hrs < 0) { 
      throw ("Invalid Date " + str24Hrs); 
     }   

     if(hrs >= 12) { 
      hrs = (hrs - 12) || 12; 
      ampm = "pm"; 
     } 
     var strHr = (hrs < 10) ? "0".concat(hrs) : hrs; 
     var strMin = (min < 10) ? "0".concat(min) : min; 
     return (strHr + ":" + strMin + ampm); 
    } 

    var arr = "12:30".split(":"); 
    alert(to12Hrs(arr[0], arr[1])); // 12:30pm 

    arr = "11:00".split(":");    
    alert(to12Hrs(arr[0], arr[1])); // 11:00am 

    arr = "02:00".split(":"); 
    alert(to12Hrs(arr[0], arr[1])); // 02:00am 

    arr = "20:00".split(":"); 
    alert(to12Hrs(arr[0], arr[1])); // 08:00pm 
+0

+1:謝謝.. – 2010-12-22 16:19:07