從JS日期對象獲取YYYYMMDD格式的字符串?

我正在嘗試使用JS將date object轉換爲YYYYMMDD格式的字符串。 有沒有比串聯Date.getYear()Date.getMonth()Date.getDay()更簡單的方法? jquery


#1樓

我不喜歡添加原型。 一種替代方法是: web

var rightNow = new Date(); var res = rightNow.toISOString().slice(0,10).replace(/-/g,""); <!-- Next line is for code snippet output only --> document.body.innerHTML += res;


#2樓

若是您不須要純粹的JS解決方案,則能夠使用jQuery UI來完成如下工做: api

$.datepicker.formatDate('yymmdd', new Date());

我一般不喜歡導入太多庫。 可是jQuery UI很是有用,您可能會在項目的其餘地方使用它。 ide

訪問http://api.jqueryui.com/datepicker/瞭解更多示例 ui


#3樓

若是您不介意包括其餘(但很小)的庫, Sugar.js提供了許多不錯的功能來處理JavaScript中的日期 。 要格式化日期,請使用格式化功能: spa

new Date().format("{yyyy}{MM}{dd}")

#4樓

我不喜歡修改本機對象,並且我認爲乘法比填充接受的解決方案的字符串更清晰。 .net

function yyyymmdd(dateIn) { var yyyy = dateIn.getFullYear(); var mm = dateIn.getMonth() + 1; // getMonth() is zero-based var dd = dateIn.getDate(); return String(10000 * yyyy + 100 * mm + dd); // Leading zeros for mm and dd } var today = new Date(); console.log(yyyymmdd(today));

小提琴: http//jsfiddle.net/gbdarren/Ew7Y4/ code


#5樓

普通JS(ES5)解決方案,沒有因UTC中的Date.toISOString()打印而引發的任何可能的日期跳轉問題: orm

var now = new Date();
var todayUTC = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));
return todayUTC.toISOString().slice(0, 10).replace(/-/g, '');

這是對@weberste對@Pierre Guilbert的回答的評論的迴應。 對象

相關文章
相關標籤/搜索