如何在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()生成包含当前日期和时间的新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;按照您希望的格式。
大多数其他答案都提供了日期和时间。如果你只需要日期。
new Date().toISOString().split("T")[0]
输出
[ '2021-02-08', '06:07:44.629Z' ]
如果要使用/format,请使用replaceAll。
new Date().toISOString().split("T")[0].replaceAll("-", "/")
如果您需要其他格式,那么最好使用momentjs。
如果您希望对日期格式进行更精细的控制,我强烈建议您查看日期FNS。
它是一个很棒的库,比Moment.js小得多。它是一种基于函数的方法,比其他基于类的库更快。它提供了迄今为止所需的大量操作。
重要提示:不要使用:var today=new Date();
但是var dateToday=new Date();,例如,var今天没有表示任何内容。
像这样漂亮地打印日期。
2015年6月1日上午11:36:48
https://gist.github.com/Gerst20051/7d72693f722bbb0f6b58