2011-07-18 55 views
0

所以我有一個JSON返回像「10:00 am」>我需要創建一個數組與當前系統時間八個其他時間。所以它會是這樣「上午10:00,上午11:00,下午12:00,凌晨1:00,等」如何將字符串轉換爲24小時?

這裏是我當前的代碼至今:

var katie=new Array(); 
    var webdate = new Date().getHours(); 
    var firsthr = day.date.start.time; 
    for (i=0; i<=8; i++){ 
     katie{i] = webdate; 
     webdate = webdate +1;  
    } 
+1

什麼是'無功firsthr = day.date.start.time;'怎麼辦呢?另外,爲什麼你有一個名爲'katie'的變量?我知道你可以隨意調用你的變量,但這並不意味着實際上這是個好主意。 –

回答

0

你可以嘗試這樣的。

 var str=new Array(); 
     var webdate = new Date(); 
      for (i=0; i<=8; i++){ 
       webdate.setHours(i);  
       str[i] = webdate; 
      } 
0

Date.js是一個非常有用的解析字符串到日期的庫。 在Date.js的api doc page上搜索「.parse」。此外,FormatSpecifiers page有助於將日期轉換爲字符串。

你說你有一個JSON字符串,「上午10:00」。假設這個JSON,

var data = {time: "10:00am"}; 

您可以創建一個日期對象是這樣的:

var date = Date.parse(data.time); 
// this will create a date object with today's date and time set to 10am 

然後,你可以用你的循環遞增的時間過去10.00-16.00小時。總之它可能看起來像這樣

<script src="date.js"></script> 
<script> 

var data = {time: "10:00am"}; 
var date = Date.parse(data.time); 

//push today @ 10am 
var katie=new Array(new Date(date)); 
for (i=0; i<=8; i++){ 
    //add an hour to date, then push new Date object based on date 
    date.add({hours:1}); 
    katie.push(new Date(date)); 
} 
</script> 
0

你可以試試這個 -

 var str=new Array(); 
     var webdate = new Date(); 
      var currenthours = webdate.getHours(); 
      var looplimit = currenthours + 8; 
      for (i=currenthours; i<looplimit; i++){ 
       webdate.setHours(i);  
       str[i] = webdate.getHours() >= 12 ? webdate.getHours() -12 +':00pm' : webdate.getHours() +':00am'; 
      } 
     } 
相關問題