警报(dateObj)给出周三2009年12月30日00:00:00 GMT+0800
如何获得日期格式为2009/12/30?
警报(dateObj)给出周三2009年12月30日00:00:00 GMT+0800
如何获得日期格式为2009/12/30?
当前回答
对于已接受的答案,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();
其他回答
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 dateObj = new Date();
var month = dateObj.getUTCMonth() + 1; //months from 1-12
var day = dateObj.getUTCDate();
var year = dateObj.getUTCFullYear();
newdate = year + "/" + month + "/" + day;
或者你可以设置新的日期并给出上面的值
new Date().toISOString()
"2016-02-18T23:59:48.039Z"
new Date().toISOString().split('T')[0];
"2016-02-18"
new Date().toISOString().replace('-', '/').split('T')[0].replace('-', '/');
"2016/02/18"
new Date().toLocaleString().split(',')[0]
"2/18/2016"
不错的格式化插件:http://blog.stevenlevithan.com/archives/date-time-format。
你可以这样写:
var now = new Date();
now.format("yyyy/mm/dd");
var dt = new Date();
dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate();
因为月份索引是以0为基础的,所以必须加1。
Edit
有关日期对象函数的完整列表,请参见
Date
getMonth()
根据当地时间返回指定日期中的月份(0-11)。
getUTCMonth()
根据世界时返回指定日期中的月份(0-11)。