Javascript 如何使用moment.js显示一天中的时间?

Javascript 如何使用moment.js显示一天中的时间?,javascript,jquery,momentjs,Javascript,Jquery,Momentjs,如果是在中午12点之前,我将如何显示“周日上午”,如果是在中午12点之后,我将如何显示“周日下午” 我正在使用下面的获取当前日期 var now = moment().format("dddd"); $("#date").append(now); 像这样的东西可能会奏效: console.log(`${moment().format("dddd")} ${(moment().format("a") === 'am'

如果是在中午12点之前,我将如何显示“周日上午”,如果是在中午12点之后,我将如何显示“周日下午”

我正在使用下面的获取当前日期

var now = moment().format("dddd");
$("#date").append(now);

像这样的东西可能会奏效:

console.log(`${moment().format("dddd")} ${(moment().format("a") === 'am' ? ' Morning' : 'Afternoon')}`)

请注意,moment.js正在逐步淘汰,不建议在新项目中使用。

遗憾的是,moment.js没有用于上午/下午/晚上的内置令牌,但您可以伪造它

const[day,hour,am_pm]=moment().format(“dddd,h,A”).split(“,”);
放出去;
如果(am_pm=='am'){
dateOut=`${day}morning`;
}否则{
如果(小时===12 | |小时<6){
dateOut=`${day}下午`;
}否则{
dateOut=`${day}nighter`;
}
}

我有没有其他选择?@birdyong个人认为,date fns很棒。很好,很小,API和Moment相同。这对我来说是一个晚上的输出,即使是在下午6点之前,但奇怪的是,我刚刚用它进行了测试,它使用了与Moment相同的API,并且工作正常。您是在本地计算机上还是在不同时区的远程开发环境中运行此程序?我也尝试了day.js,我在运行if语句之前输出时间,它显示为5pm,但在晚上之后仍然返回。您确定要执行相同的操作吗?对不起,我的错,你是对的。改为做
hour==12 | | hour<6
。上面改了。
console.log(`${moment().format("dddd")} ${(moment().format("a") === 'am' ? ' Morning' : 'Afternoon')}`)