如何在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>