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


当前回答

As toISOString()将只返回当前UTC时间,而不是本地时间。我们必须使用“.toString()”函数生成日期,以yyyy-MM-dd格式获取日期,如

document.write(new Date(new Date).toString().split('GMT')[0]+'UTC').toISOString().spit('T')[0]);

以yyyy-MM-ddTHH:MM:ss格式获取日期和时间

document.write(new Date(new Date).toString().split('GMT')[0]+'UTC').toISOString().spit('.')[0]);

以yyyy-MM-dd HH:MM:ss格式获取日期和时间

document.write(new Date(new Date).toString().split('GMT')[0]+'UTC').toISOString().spit('.')[0].replace('T',''));

其他回答

那么多复杂的答案。。。

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

享受

var utc=new Date().toJSON().slice(0,10).replace(/-/g,'/');文档.写入(utc);

如果要重用utc变量,例如new Date(utc),请使用替换选项,因为Firefox和Safari无法识别带破折号的日期。

如果您想要对日期格式进行更精细的控制,我强烈建议您查看momentjs。非常棒的图书馆-只有5KB。http://momentjs.com/

这做了很多:

var today=新日期();var date=today.getFullYear()+'/'+(today.get-Month()+1)+'/'+today.get date();文档.写入(日期);

其中today.getFullYear()获取当前年份。

today.getMonth()+1获取当前月份。

today.getDate()获取今天的日期。

所有这些都用“/”连接。

您可能希望自动检索浏览器的区域设置名称,并将其作为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

当您更改浏览器的区域设置时,时间和日期(如果需要)也会更改。