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


当前回答

您可以使用moment.js:http://momentjs.com/

var m=moment().格式(“DD/MM/YYYY”);文件.写入(m);<script src=“https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js“></script>

其他回答

Varun的答案不考虑TimezoneOffset。以下是一个版本:

var d = new Date()
new Date(d.getTime() - d.getTimezoneOffset() * 60000).toJSON().slice(0, 10) // 2015-08-11

TimezoneOffset是分钟,而Date构造函数需要毫秒,因此乘以60000。

如果您对YYYY-MM-DD格式感到满意,这也可以完成这项工作。

new Date().toISOString().split('T')[0]

2018-03-10

Try

`${Date()}`.slice(4,15)

console.log(`${Date()}`.slice(4,15))

这里我们使用标准的JS功能:模板文本、转换为字符串的Date对象和切片。这可能是满足OP要求的最短解决方案(没有时间,只有日期)

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

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

你可以用这个

<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>