【发布时间】:2020-02-12 20:30:48
【问题描述】:
我正在使用 new Date() 来创建自定义时间,并且我正在使用函数将时间格式化为上午/下午:
const formatTimeAMPM = (date, midnight = { am: "AM", pm: "PM" }) => {
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? ` ${midnight.am}` : ` ${midnight.pm}`;
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? "0" + minutes : minutes;
hours = hours < 10 ? "0" + hours : hours;
var strTime = hours + ":" + minutes + " " + ampm;
return strTime;
};
let startDate = new Date(Date.now());
console.log('before change :',formatTimeAMPM(startDate));
startDate.setHours(8, 30, 0, 0);
console.log('after change :',formatTimeAMPM(startDate));
如果你运行 sn-p,你会看到控制台日志是 8:30 pm,谁能告诉我当我改变 startDate 小时时如何设置它?
【问题讨论】:
-
使用moment.js。为什么要重写轮子?格式化、解析、时区、差异......
-
moment 有很多功能,但是 moment.min.js 大小是 16.7k,我不是租卡车去打针
标签: javascript time