任何人都可以告诉我如何使用moment.js将分钟数转换为小时数并以hh:mm格式显示。如何使用moment.js将分钟数转换为小时
例如, 如果分钟是480,它应该显示输出为08:00 AM。 如果分钟1080应该显示输出06:00下午
任何人都可以告诉我如何使用moment.js将分钟数转换为小时数并以hh:mm格式显示。如何使用moment.js将分钟数转换为小时
例如, 如果分钟是480,它应该显示输出为08:00 AM。 如果分钟1080应该显示输出06:00下午
你可以做基本的算术像这样:
function getTimeFromMins(mins) {
// do not include the first validation check if you want, for example,
// getTimeFromMins(1530) to equal getTimeFromMins(90) (i.e. mins rollover)
if (mins >= 24 * 60 || mins < 0) {
throw new RangeError("Valid input should be greater than or equal to 0 and less than 1440.");
}
var h = mins/60 | 0,
m = mins % 60 | 0;
return moment.utc().hours(h).minutes(m).format("hh:mm A");
}
getTimeFromMins(480); // returns "08:00 AM"
getTimeFromMins(520); // returns "08:40 AM"
getTimeFromMins(1080); // returns "06:00 PM"
假设你总是希望从午夜加分,最容易的事情do是:
moment.utc().startOf('day').add(480, 'minutes').format('hh:mm A')
UTC的使用避免了夏令时转换的问题,导致时间根据相关日期而变化。
如果你真的想分钟午夜后在某一天的数量,包括DST过渡取出UTC与只使用:
moment().startOf('day').add(480, 'minutes').format('hh:mm A')
注意,接受的答案与DST转换的潜在问题。例如,如果你是在美国的一部分观察DST:未如预期
moment('2016-03-13').hours(2).minutes(30).format('hh:mm A')
"03:30 AM"
结果,并会回去和小时或根据浏览器的前进的一个小时之间变化。
编辑:原始答案已更新,以解决错误。作为补充评论,我会非常怀疑任何试图将几分钟时间映射到公民时间的代码。底线是,480分钟到一天并不总是上午8:00。考虑一下你的问题。 DST错误可能是现在。
你已经试过了什么? –
这算不算算吗? – Stewart
我不知道如何使用它 – user1268130