警报(dateObj)给出周三2009年12月30日00:00:00 GMT+0800
如何获得日期格式为2009/12/30?
警报(dateObj)给出周三2009年12月30日00:00:00 GMT+0800
如何获得日期格式为2009/12/30?
当前回答
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的自己尝试编辑器帮助我更好地了解如何使用它。
其他回答
下面是一个使用模板字面值获取年/月/日的更简洁的方法:
var 日期 = 新日期(); var formattedDate = '${date.getFullYear()}/${(date.getMonth() + 1)}/${date.getDate()}'; 控制台.log(格式化日期);
它将从用户的浏览器设置中收集语言
使用选项对象中的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()
ES2018引入了正则表达式捕获组,你可以用它来捕获日、月和年:
const REGEX = /(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[0-9]{2})/;
const results = REGEX.exec('2018-07-12');
console.log(results.groups.year);
console.log(results.groups.month);
console.log(results.groups.day);
这种方法的优点是可以捕获非标准字符串日期格式的日、月、年。
引用https://www.freecodecamp.org/news/es9——javascripts -状态- -艺术-在- 2018 - 9 - a350643f29c/
不错的格式化插件:http://blog.stevenlevithan.com/archives/date-time-format。
你可以这样写:
var now = new Date();
now.format("yyyy/mm/dd");
对于已接受的答案,1月1日将显示如下:2017/1/1。
如果你更喜欢2017/01/01,你可以使用:
var dt = new Date();
var date = dt.getFullYear() + '/' + (((dt.getMonth() + 1) < 10) ? '0' : '') + (dt.getMonth() + 1) + '/' + ((dt.getDate() < 10) ? '0' : '') + dt.getDate();