2015-11-12 46 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>

相关问题