2015-11-12 44 views
-7

當我有一個JavaScript Date()對象,我用console.log()然後在控制檯上出現這樣的:如何從Date()對象獲取日期和時間?

Date 2015-12-16T12:00:00.000Z 

但我需要這種格式的信息:

2015-12-16 12:00 

如何輕鬆地用繩子做到這一點操作?因此,沒有使用getFullYear()getDate() .....

+0

爲什麼你不能使用內置的JavaScript函數?否則簡單的字符串處理或正則表達式 –

+0

爲什麼在預定義函數時使用字符串處理? – Tushar

+0

,因爲很多編碼...我還必須處理前導零位 – user3719454

回答

3

如果你可以使用更多的例子Momentjs庫

$(function() { 
 
    var datestring = moment().format("YYYY-MM-DD HH:mm"); 
 
    $("#result").append(datestring); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<script src="http://momentjs.com/downloads/moment-with-locales.min.js"></script> 
 
<div id="result"><div>

你不能看一看:http://momentjs.com/docs/

編輯:注意細微差別:

  • ^h - 24小時時間
  • ^h - 與用途12小時的時間一一個
+0

如果不清楚,你可以在一會兒內包裝你現有的日期:** var day = new Date(2015,12,16); var dayWrapper =時刻(日); **,並在其上調用格式。 – Margus

2

這是我的方式:

var myDate = new Date(); 
var myYear = myDate.getFullYear(); 
var myMonth = myDate.getMonth() + 1; 
if (myMonth < 10) { 
    myMonth = "0" + myMonth; 
} 
var myDay = myDate.getDate(); 
if (myDay < 10) { 
    myDay = "0" + myDay; 
} 
var myHour = myDate.getHours(); 
if (myHour < 10) { 
    myHour = "0" + myHour; 
} 
var myMinute = myDate.getMinutes(); 
if (myMinute < 10) { 
    myMinute = "0" + myMinute; 
} 
var retDate = (myYear + "-" + myMonth + "-" + myDay +" "+myHour+":"+myMinute); 


console.log(retDate); 
+0

在必要時,這不會填充前導零。 –

+0

@JamesThorpe:在問題的哪裏,你發現填充是一個問題?(*雖然它不是一個難對付的問題*) –

+0

那麼,如果時間碰巧是12:00,那麼你的答案會給予12:0 –

0

你可以試試這個:

$(function() { 
 
    var myDate = new Date(); 
 
console.log(myDate.format("yyyy-mm-dd h:MM")); 
 
$("#date").html(myDate.format("yyyy-mm-dd h:MM")); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://stevenlevithan.com/assets/misc/date.format.js"></script> 
 
<div id="date"><div>

相關問題