momentjs - 检查片刻是否包含时间?

标签 momentjs

我试图确定一个时刻对象是否使用时间值(除了日期)进行了实例化。例如:

var date = moment("2014-01-16");
date.format("h:mm a"); // 12:00 am


var date2 = moment("2014-01-16 09:30");
date.format("h:mm a"); // 9:30 am

怎么问 date如果它包含时间(而不仅仅是默认值)?

最佳答案

从技术上讲,仅传递日期的构造函数使用时间 12:00:00 实例化它,即使它是隐式的。尽管如此,这里有一些可能的解决方案。

从最不安全和最少工作到最安全和最多工作:

1) 检查它是否正好等于 12:00:00 并假设它没有设置。如果您的用例经常在午夜左右发生事情,那是一种糟糕的方法。

2)不要在没有明确指定时间的情况下实例化一个时刻。

3) 在自定义对象中包装时刻,或创建一个全新的自定义对象,能够表示空时间情况(标志、可为空变量等)

关于momentjs - 检查片刻是否包含时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21171794/

相关文章:

JavaScript - 尝试使用下面的代码设置明天的日期

javascript - 使用 isoWeekday() 从星期一开始一周

javascript - 获取当前星期的 JavaScript

javascript - 计算两个时间范围数组的并集时间范围(带有矩范围)

javascript - Moment.js unix 时间戳总是以分钟为单位显示时间

javascript - SystemJS - 时刻不是函数

momentjs - 使用 Moment.js 进行区域设置检测

javascript - 给定当前 UTC 时间和一天中的特定小时,返回时区偏移量(Javascript)

javascript - 如何从非标准日期字符串中解析出日期

react-native - React Native - 使用 Moment.js 自定义日期格式