警报(dateObj)给出周三2009年12月30日00:00:00 GMT+0800
如何获得日期格式为2009/12/30?
警报(dateObj)给出周三2009年12月30日00:00:00 GMT+0800
如何获得日期格式为2009/12/30?
当前回答
它将从用户的浏览器设置中收集语言
使用选项对象中的minutes和hour属性来处理它们。 你可以用长值来表示月份,比如8月23日等等。
function getDate(){
const now = new Date()
const option = {
day: 'numeric',
month: 'numeric',
year: 'numeric'
}
const local = navigator.language
labelDate.textContent = `${new
Intl.DateTimeFormat(local,option).format(now)}`
}
getDate()
其他回答
var dt = new Date();
dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate();
因为月份索引是以0为基础的,所以必须加1。
Edit
有关日期对象函数的完整列表,请参见
Date
getMonth()
根据当地时间返回指定日期中的月份(0-11)。
getUTCMonth()
根据世界时返回指定日期中的月份(0-11)。
var dateObj = new Date();
var month = dateObj.getUTCMonth() + 1; //months from 1-12
var day = dateObj.getUTCDate();
var year = dateObj.getUTCFullYear();
newdate = year + "/" + month + "/" + day;
或者你可以设置新的日期并给出上面的值
为什么不使用方法toISOString()与切片或简单的toLocaleDateString()?
注意toISOString返回的时区总是零UTC偏移量,而在toLocaleDateString中它是用户代理的时区。
检查:
const d = new Date() //今天,现在 //时区0 UTC偏移量 console.log (d.toISOString()。slice(0, 10)) // YYYY-MM-DD //用户代理的时区 console.log(d.toLocaleDateString('en-CA')) // YYYY-MM-DD .log(d.toLocaleDateString('en-CA') console.log(d.toLocaleDateString('en-US')) // M/D/YYYY .log(d.toLocaleDateString('en-US') console.log(d.toLocaleDateString('de-DE')) // d.m.y yyyy .log console.log(d.toLocaleDateString('pt-PT')) // DD/MM/YYYY .log(d.toLocaleDateString('pt-PT')
info
如果需要2位数字的月份和日期(2016/01/01 vs 2016/1/1)
code
var dateObj = new Date();
var month = ('0' + (dateObj.getMonth() + 1)).slice(-2);
var date = ('0' + dateObj.getDate()).slice(-2);
var year = dateObj.getFullYear();
var shortDate = year + '/' + month + '/' + date;
alert(shortDate);
输出
2016/10/06
小提琴
https://jsfiddle.net/Hastig/1xuu7z7h/
信贷
更多信息来自这个答案
more
要了解更多关于.slice的信息,w3schools的自己尝试编辑器帮助我更好地了解如何使用它。
我建议你使用Moment.js http://momentjs.com/
然后你可以这样做:
moment(new Date()).format("YYYY/MM/DD");
注意:如果你想要当前的TimeDate,你实际上不需要添加新的Date(),我只添加它作为一个引用,你可以传递一个日期对象给它。对于当前的TimeDate,这也适用:
moment().format("YYYY/MM/DD");