如何在JavaScript中获取当前日期?


当前回答

TL;博士

只有当您需要本地计算机(客户端)上的当前时间时,这里找到的大多数答案才是正确的,而本地计算机(客户机)是一个通常不可靠的源(它可能与其他系统不同)。

可靠的来源包括:

Web服务器的时钟(但确保已更新)时间API和CDN

细节

在Date实例上调用的方法将返回一个基于计算机本地时间的值。

更多详细信息可以在“MDN web docs”:JavaScript Date对象中找到。

为了方便您,我从他们的文档中添加了一条相关注释:

(…)获取日期和时间或其组件的基本方法都在本地(即主机系统)时区和偏移中工作。

提到这一点的另一个来源是:JavaScript日期和时间对象

需要注意的是,如果某人的时钟关闭了几个小时,或者他们在不同的时区,则Date对象将创建与您自己计算机上创建的时间不同的时间。

您可以使用的一些可靠来源是:

web服务器的时钟(首先检查是否正确设置)时间API和CDN:https://timezonedb.com/apihttp://worldtimeapi.orghttp://worldclockapi.comhttp://www.geonames.org/export/ws-overview.html其他相关API:https://www.programmableweb.com/category/time/api

但是,如果准确度对您的用例并不重要,或者如果您只需要日期与本地机器的时间相关,那么您可以安全地使用Javascript的date基本方法,如date.now()。

其他回答

那么多复杂的答案。。。

只需使用new Date(),如果需要它作为字符串,只需使用newDate().toISOString()

享受

如果您希望对日期格式进行更精细的控制,我强烈建议您查看日期FNS。

它是一个很棒的库,比Moment.js小得多。它是一种基于函数的方法,比其他基于类的库更快。它提供了迄今为止所需的大量操作。

使用new Date()生成包含当前日期和时间的新Date对象。

var today=新日期();var dd=字符串(today.getDate()).padStart(2,'0');var mm=字符串(today.getMonth()+1).padStart(2,'0')//一月是0!var yyyy=today.getFullYear();今天=mm+'/'+dd+'/'+yyyy;document.write(今天);

这将以mm/dd/yyyy的格式显示今天的日期。

只需更改今天=mm+'/'+dd+'/'+yyyy;按照您希望的格式。

我的方式

let dateString = new Date().toLocaleString().split(',').find(() => true);

在澳大利亚,我更喜欢使用此

(new Date()).toISOString().slice(0, 10).split("-").reverse().join("/")