没有时间的Javascript日期方法

Javascript date method without time

本文关键字:日期方法 Javascript 没有时间      更新时间:2023-09-26

Javascript方法

var d = new Date();

获取datetime值,但如何在没有时间的情况下获取清晰的日期?

有关解析日期的完整参考,请点击此处的链接

您可以简单地从您的变量中解析日期,如

d.toJSON().substring(0,10)

d.toDateString();

我建议您使用dayjsmomentjs

此代码将重置javascript日期对象的小时、分钟、秒、毫秒。

var d = new Date();
d.setHours(0);
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);

或者以一种简化的方式:

var d = new Date();
d.setHours(0, 0, 0, 0);

或者作为一个单行函数:

function now () { const d = new Date(); d.setHours(0, 0, 0, 0); return d }
now(); // returns the current date

没有转换,并且在末尾仍然有一个日期对象。

有很多这样的例子。。

function format(date) {
    var d = date.getDate();
    var m = date.getMonth() + 1;
    var y = date.getFullYear();
    return '' + y + '-' + (m<=9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d);
}
var today = new Date();
var dateString = format(today);
alert(dateString);

每当谈到时间,我也喜欢指出。。MomentJS真的是工作的完美工具

MomentJS

另一个超级简单的例子。。。

var today = new Date();
alert(today.toLocaleDateString());

第二个例子是我最喜欢的。

根据您喜欢的格式,我认为这些是只获取日期而不获取时间的最简单方法。

new Date().toJSON().split("T")[0];
// Output: "2019-10-04"

new Date().toLocaleDateString().split(",")[0]
// Output in the US: "10/4/2019"

我总是使用这个方法,它只返回当前日期:

var date = new Date().toISOString().slice(0,10);

使用Date,您有一个日期对象,它有几个方法。方法的完整列表可以在Javascript Date对象文档中找到。

在您的情况下:

var d = new Date(),
    datestring = '';
datestring = d.getFullYear() + '-' + (d.getMonth()+1) + '-' + d.getDate()
alert(datestring);

new Intl.DateTimeFormat('en-GB').format(new Date('2018-08-17T21:00:00.000Z'))

结果将是:2018年8月18日

你可以在这里查看描述。

const dateWithoutTime = new Date(Math.floor(date.getTime() / 86400000) * 86400000)