检查片刻是否包含时间?

时间:2014-01-16 20:07:40

标签: 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它是否包含时间(而不仅仅是默认值)?

1 个答案:

答案 0 :(得分:5)

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

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

1)检查它是否完全等于12:00:00并假设未设置。如果你的用例经常在午夜左右发生事情,那就太糟糕了。

2)如果没有明确指定时间,就不要实例化。

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