具有 NULL 时间的 Javascript Date() 对象

标签 javascript date time types

有没有办法只指示 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/

相关文章:

php - 自注册之日起两周后发送电子邮件

scala - 在 Spark 中转换 dd-MMM-yy 日期格式

javascript - javascript 中的数组,我如何学习操作它?

java - 如何检查两个日期之间是否有至少 1 天的差异

ruby-on-rails - Rails 验证语句中的 lambda 表达式

java - 使用Java实现服务器和Internet之间的时间同步

java - 如何检查一天中的时间是否介于两个时间之间?

javascript - Chrome 开发者工具 - 动态创建的元素

javascript - 如果超过某个限制时间,如何在 Node.js 中完成一项操作?

javascript - 如何在 node-gyp 构建过程中包含 tesseract 库