Javascript:将Int数字转换为日期格式:(8->08:00)

Javascript: convert Int number to date format: (8 -> 08:00)

本文关键字:gt 格式 Int 数字 转换 日期 Javascript      更新时间:2023-09-26

我有一个简单的问题。我想要一个for循环输出一个时间数组,格式为:00:00。

var array = [];
for (var i = 0; i < 24; i++) {
   var time = // Convert int here to : 00:00, 01:00...24:00 format. 
   array.push(time);
}

感谢

更新,感谢回复,以下是我的独奏方式。

function dynamicTimeList(time) {
        var startHour = 6;
        var startMinute = 0;
        var timeList = [];
        while (startHour < 24) {
            var tempHour = ("0" + startHour).slice(-2)
            while (startMinute < 60) {
                var tempMin = ("0" + startMinute).slice(-2)
                timeList.push(tempHour +":"+ tempMin)
                startMinute += 15;
            }
            startHour++;
        }
    }
    // Output: 01:00, 01:15, 01:30, 01:45, 02:00, etc... 
var array = [];
for (var i = 0; i < 24; i++) {
   var time = i < 10 ? "0"+i+":00" : i+":00";  
   array.push(time);
}

如果i小于10,则它需要左填充0,否则它可以按原样使用,然后":00"可以被附加到它。

或者,如果你想稍后找到时间格式,那么只需将更新了小时和分钟的日期对象添加到数组中

var array = [];
for (var i = 0; i < 24; i++) 
{
   var date = new Date();
   date.setHours( i ); 
   date.setMinutes( 0 );
   array.push(date);
}

尝试这个

var array = [];
var date = new Date();
for (var i = 0; i < 24; i++) {
   date.setTime(date.getTime() + (60*60*1000)); //add one hour
   array.push(date.toLocaleTimeString());       //push the time as LocalString into array
}
console.log(array)

new Array(24).fill(0).map((v,i) => (i < 10 ? '0' + i : i)+':00');

如果你在js中玩Date对象,你应该使用Moment.js

var array = [];
var d = new Date();
// reset to initial value;
d.setHours(0, 0, 0, 0);
// Check if its the same date
while (d.getDate() === new Date().getDate()) {
  array.push(moment(d).format('HH:mm'));
  d.setHours(d.getHours() + 1);
}
console.log(array)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.1/moment.min.js"></script>