如何在JavaScript中获取当前日期?
当前回答
您可以像这样获取当前日期调用静态方法:
var now = Date.now()
参考:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
其他回答
new Date().toISOString().slice(0,10);
也会起作用
你可以用这个
<script>
function my_curr_date() {
var currentDate = new Date()
var day = currentDate.getDate();
var month = currentDate.getMonth() + 1;
var year = currentDate.getFullYear();
var my_date = month+"-"+day+"-"+year;
document.getElementById("dateField").value=my_date;
}
</script>
HTML是
<body onload='return my_curr_date();'>
<input type='text' name='dateField' id='dateField' value='' />
</body>
使用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;按照您希望的格式。
您可能希望自动检索浏览器的区域设置名称,并将其作为toLocaleString()的第一个参数传递,以便传递其他选项:
//获取区域设置名称函数getLang(){if(navigator.languages!=未定义)返回navigator.languages[0];返回navigator.language;}//获取格式为yyyy-MM-ddThmmss的当前日期时间const time=new Date().toLocaleString(getLang(){小时12:假,年份:'数字',月份:'2-位',天:'2位数',小时:“数字”,minute:“数字”,第二个:“数字”}).replaceAll(“/”,“-”).replaceAll(“:”,“”).replace All(“”,“T”)console.log(“locale:”,getLang())console.log(时间)
结果可能如下:
locale: zh-TW
2022-09-13T171642
当您更改浏览器的区域设置时,时间和日期(如果需要)也会更改。
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()。