我正在尝试确定是否使用时间值(除日期之外)实例化了一个时刻对象。例如:
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
它是否包含时间(而不仅仅是默认值)?
答案 0 :(得分:5)
从技术上讲,只传递日期的构造函数是使用时间12:00:00实例化它,即使它是隐式的。即便如此,这里有一些可能的解决方案。
从最不安全和最少的工作到最安全和最安全的工作:
1)检查它是否完全等于12:00:00并假设未设置。如果你的用例经常在午夜左右发生事情,那就太糟糕了。
2)如果没有明确指定时间,就不要实例化。
3)在自定义对象中包裹时刻,或创建一个全新的自定义对象,能够表示空时间情况(标志,可空变量等)