如何使用JavaScript以特定格式显示Date对象?
问题描述:
我有一个Date对象,我想在下面的格式来显示它:如何使用JavaScript以特定格式显示Date对象?
var myDate = getDate();
// this format: "13 Jan 2012 11:00am";
怎么会是这样可能吗?
感谢,
答
有许多可用的JavaScript的日期格式的包,我已经与Steven Levithan's dateformat取得了巨大成功。
dateFormat(getDate(), "dd mmm yyyy hh:MMtt");
编辑:它还增加了一个format
方法Date.prototype
,如果你喜欢这种风格:
getDate().format("dd mmm yyyy hh:MMtt");
答
看一看的Date()
对象:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
有很多有用的方法....
答
有一个伟大的JavaScript库可以很好地处理这个问题,并且只有5.5kb的缩小。
它看起来是这样的:
moment().format('MMMM Do YYYY, h:mm:ss a'); // February 25th 2013, 9:54:04 am
moment().subtract('days', 6).calendar(); // "last Tuesday at 9:53 AM"
您也可以通过在日期为String
与格式,或Date
对象。
var date = new Date();
moment(date); // same as calling moment() with no args
// Passing in a string date
moment("12-25-1995", "MM-DD-YYYY");
也有其他然后英语语言一样,俄语,日语,阿拉伯语,西班牙语等的大力支持..
退房的docs。
答
如果你不想使用任何库:
<script type="text/javascript">
var myDate = new Date();
var month=new Array();
month[0]="Jan";
month[1]="Feb";
month[2]="Mar";
month[3]="Apr";
month[4]="May";
month[5]="Jun";
month[6]="Jul";
month[7]="Aug";
month[8]="Sep";
month[9]="Oct";
month[10]="Nov";
month[11]="Dec";
var hours = myDate.getHours();
var minutes = myDate.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12;
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + ampm;
// e.g. "13 Nov 2016 11:00pm";
alert(myDate.getDate()+" "+month[myDate.getMonth()]+" "+myDate.getFullYear()+" "+strTime);
</script>
+2
myDate.getDay()给你一周的一天。改用getDate()。资料来源:http://www.w3schools.com/jsref/jsref_obj_date.asp – 2016-02-11 20:23:15
是为Mozilla虽然只工作。 – 2012-03-02 11:57:06
@William err nope - 适用于所有浏览器。它只是提供函数列表的mozilla ...你也可以在这里得到它 - > http://javascript.about.com/library/bldate1.htm – ManseUK 2012-03-02 12:00:20