有没有办法只指示 Date() 对象的日期部分,而不指示时间?
例如
var d = Date();
d.setFullYear(2015, 0, 13);
d.toString();
"Tue Jan 13 2015 00:00:00 GMT-0500 (EST)" // Wrong - I didn't set a time!
"Tue Jan 13 2015 NULL GMT-0500 (EST)" // Expected Result
我希望能够区分仅输入日期部分的用户与显式同时输入日期和时间的用户
最佳答案
不是真的。 Javascript Date
对象总是有一个时间。如果你愿意,你可以在午夜离开它并忽略它,但它仍然会在那里。这取决于您如何解释它。
如果您希望能够表示一个空时间,您可以将午夜解释为那个意思,尽管这样您将无法表示实际 午夜的时间。如果您希望能够有一个空时间并仍然代表每个可能的时间,您需要有两个变量。
你可以:
// Date with null time
var date = new Date(2015, 0, 13); // time component ignored
var time = null;
// Date with non-null time
var date = new Date(2015, 0, 13); // time component ignored
var time = new Date(1970, 0, 1, 9, 30); // date component ignored
请注意,在第二个示例中,time
组件中的年、月和日是任意的,不会被使用,但如果您想创建一个 ,它们仍然需要存在日期
对象。
关于具有 NULL 时间的 Javascript Date() 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28820043/