【发布时间】:2015-10-28 07:15:16
【问题描述】:
我正在用 Javascript 创建一个时间段。请不要使用 jQuery。如果你把第一次和最后一次,那么它会列出一个区间,在12个数字之后,它会变成上午到下午。假设,如果你的开始时间是 11,结束时间是 19,那么它会像这样创建一个 slot,
11AM-12PM
12PM-1PM
1PM-2PM
2pm-3pm
3pm-4pm
4pm-5pm
5pm-6pm
6pm-7pm
但是,问题是我把它当作简单的整数并给出 for 循环。我想保留它的 24 小时格式,比如 for
1PM-2PM
它应该在任何将发送到服务器的变量中取这个值
13:00:00 - 14:00:00
这是我的 JS 代码。
getTimeValues: function() {
console.log('here i am');
var timeValues = this.timeValues;
var minTime = 11; //vary this to change the first
var maxTime = 19; //vary this to chage the
var string;
for (var i = minTime; i < maxTime; i++) {
if(i<12) {
lowersuffix = 'AM';
startRange = i;
}
else if(i===12){
lowersuffix = 'PM';
startRange = i;
}
else {
lowersuffix = 'PM';
startRange = i - 12;
}
if((i+1)<12) {
uppersuffix = 'AM';
endRange = (i+1);
}
else if((i+1)===12){
uppersuffix = 'PM';
endRange = (i+1);
}
else {
uppersuffix = 'PM';
endRange = (i+1) - 12;
}
string = startRange + lowersuffix + '-' + endRange + uppersuffix;
console.log(string);
timeValues.push(string);
};
},
【问题讨论】:
-
你考虑过使用momentjs吗?它内置了用于格式化 momentjs.com/docs/#/displaying/format 的标记
-
如果你想要 24 小时格式,为什么要使用 am/pm 格式?
-
如果您将代码重构为函数声明会更好。
-
@Michael,我认为他只是将代码复制到某个地方,现在正在寻求帮助以更改它
-
不,它应该在前端显示为 12 小时格式。但我以 24 小时格式向服务器发送数据。所以,我需要一个可以存储 24 小时格式的变量。
标签: javascript html angularjs