如果午夜使用时刻.js,则不显示时间
Don't display time if midnight using Moment.js
如何使用 http://momentjs.com/docs/仅在不是午夜时才显示时间? 例如,请看下面的第一个示例。
console.log(moment('2016-01-28 00:00:00').format('MM/DD/YYYY h:mm:ss A'));
// Desire 01/28/2016, Get 01/28/2016 12:00:00 AM
console.log(moment('2016-01-28 05:03:50').format('MM/DD/YYYY h:mm:ss A'));
// Works correctly. Desire 01/28/2016 5:03:50 AM, Get 01/28/2016 5:03:50 AM
一个可能的非优雅解决方案是使用 JavaScript 检查日期时间是否与 00:00:00 尾随,如果是,请提供格式字符串"MM/DD/YYYY"而不是"MM/DD/YYYY h:mm:ss A",但我希望有更合适的方法可以做到这一点。
有很多方法。 这是一种方法(对于大多数目的来说足够简洁):
var dt = moment('2016-01-28 00:00:00');
console.log(dt.hours() === 0 && dt.minutes() === 0 && dt.seconds()=== 0 ? dt.format('MM/DD/YYYY'):
dt.format('MM/DD/YYYY h:mm:ss A'));
如果毫秒是一个问题,您可以使用isSame()
和startOf()
:
const dt = moment('2020-10-31 00:00:00');
console.log(dt.format('MM/DD/YYYY' + (dt.isSame(moment(dt).startOf('date')) ? '' : ' h:mm:ss A')));
相关文章:
- 显示时间的脚本
- 如何用前导零显示时间
- 如何在烛光图表中添加/显示时间框架
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 在条件中的几个时间行中设置自定义css效果后,从Jquery时间选择器显示时间
- 在指定时间中添加 24 小时后在网页上显示时间 x
- 如何像这样显示时间,例如:1秒前,1分钟前,1小时前,1个月前
- j查询日期选取器不显示时间输入值
- JavaScript 和 JQuery:在文本框中显示时间
- 给定一个时间戳,如何按天/周/月显示时间
- 为什么不显示时间
- 显示时间而不是日期的图表
- 根据天数和月数显示时间戳
- 如何在 Javascript 中显示时间
- 如果午夜使用时刻.js,则不显示时间
- 是否可以筛选 JSON 源以仅显示时间戳字符串中的时间
- 检查后显示时间选择器复选框,导轨(Redmine)
- 设置showErrorMessage()的显示时间
- 以12小时格式显示时间
- 日期时间倒计时,删除小数,并在每个类别中保留时间显示时间