2011-07-18 91 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'; 
      } 
     } 
相关问题