如何将字符串转换为24小时时间

How to convert a string to a 24hr time?

本文关键字:24小时 时间 转换 字符串      更新时间:2023-09-26

所以我有一个JSON返回时间像"10:00am">我需要创建一个数组与其他八个时间从当前系统时间。比如"10:00am, 11:00am, 12:00pm, 1:00am,等等"

下面是我目前的代码:
   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;       
   }

你可以这样试试。

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

Date.js是一个非常有用的库,用于将字符串解析为日期。在Date.js的api文档页面上搜索".parse"。此外,FormatSpecifiers页面有助于将日期转换为字符串。

你说你有一个JSON字符串,"10:00am"。假设这个JSON,

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

你可以像这样创建一个date对象:

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

然后,您可以使用循环将时间增加到上午10点后的几个小时。总的来说,它看起来像这样

<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>

你可以试试这个-

      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';
          }
      }