我有一个简单的问题。 我想要一个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...
答案 0 :(得分:4)
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"
可以加上它。< / p>
或者如果您想稍后找出时间格式,那么只需将更新后的小时和分钟的日期对象添加到数组中
var array = [];
for (var i = 0; i < 24; i++)
{
var date = new Date();
date.setHours( i );
date.setMinutes( 0 );
array.push(date);
}
答案 1 :(得分:3)
试试这个
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)
答案 2 :(得分:2)
new Array(24).fill(0).map((v,i) => (i < 10 ? '0' + i : i)+':00');
答案 3 :(得分:1)
如果你在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>