【发布时间】:2018-05-14 22:50:18
【问题描述】:
我有根据铁路时间的往返时间,现在我转换为正常时间上午到下午。但在那之后我需要添加 30 分钟的间隔。我对迭代器方法有点困惑。请帮助提前谢谢
我的代码
let fromtime = '09:00:00'
let totime = '21:00:00'
let getGenTime = (timeString) => {
let H = +timeString.substr(0, 2);
let h = (H % 12) || 12;
let ampm = H < 12 ? " AM" : " PM";
return timeString = h + timeString.substr(2, 3) + ampm;
}
现在我有 am 和 pm 格式的 from 和 to 时间,但我需要在 from 和 to 时间之间添加 30 分钟间隔
fromtime = getGenTime(fromtime) // 09:00 AM
totime = getGenTime(totime) // 09:00 PM
控制台中的预期结果:
09:00 AM
09:30 AM
10:00 AM
10:30 AM
11:00 AM
....
.....
08:30 PM
09:00 PM
【问题讨论】:
-
你为什么不直接使用
Date对象? -
而
moment.js库应该有助于格式化时间。 -
@Barmar 实际上我从数据库中获取数据并从数据库中获取数据,所以我认为可以通过循环添加 30 分钟。也因为我是 JavaScript 新手
-
请不要写晦涩的代码。将来您或任何维护此代码的人都不会对此感到满意。如果您按日期操作,请使用
Date。查看创建日期范围的示例:stackoverflow.com/questions/4345045/…
标签: javascript arrays string loops date