我需要一个能够采用格式的日期和时间的功能" 2015-07-28T11:54:33.758Z"并将返回:
该功能将用于手机间隙消息应用程序,因此我不想使用jquery或其他库,并希望使用纯JavaScript。到目前为止,我已经修改了我在网上找到的内容,如下所示:
document.getElementById('date').innerHTML = timeStamp('2015-07-27T11:54:33.758Z', true);
function timeStamp(dateIn) {
// Create a date object with the current time
var now = new Date(dateIn);
var month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
// Create an array with the current month, day and time
var date = [now.getDate(), month[now.getMonth() + 1], now.getFullYear()];
// Create an array with the current hour, minute and second
var time = [now.getHours(), now.getMinutes(), now.getSeconds()];
// Determine AM or PM suffix based on the hour
var suffix = (time[0] < 12) ? "AM" : "PM";
// Convert hour from military time
time[0] = (time[0] < 12) ? time[0] : time[0] - 12;
// If hour is 0, set it to 12
time[0] = time[0] || 12;
// If seconds and minutes are less than 10, add a zero
for (var i = 1; i < 3; i++) {
if (time[i] < 10) {
time[i] = "0" + time[i];
}
}
var today = new Date();
if (now.toDateString() == today.toDateString()) {
return time['0'] + ":" + time['1'];
} else {
return date['0'] + " " + date['1'];
}
}
&#13;
<span id="date"></span>
&#13;
它完成了第一部分和第三部分。不知道如何获得一个将返回的日期格式&#34;星期二&#34;如果日期是最后一个星期二
答案 0 :(得分:1)
如果你要进行大量的日期操作和格式化,你可能需要查看moment.js - 它简化了很多这些操作。
查看文档中的calendar time部分,根据需要自定义不同时间段的格式。
moment("2015-07-28T11:54:33.758Z").calendar();
答案 1 :(得分:0)
有一个名为Moment.js的图书馆可以帮助你。
网站上的例子:
moment().format('MMMM Do YYYY, h:mm:ss a'); // July 28th 2015, 10:24:33 am
moment().format('dddd'); // Tuesday
moment().format("MMM Do YY"); // Jul 28th 15
moment().format('YYYY [escaped] YYYY'); // 2015 escaped 2015
moment().format(); // 2015-07-28T10:24:33-04:00
moment("20111031", "YYYYMMDD").fromNow(); // 4 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 3 years ago
moment().startOf('day').fromNow(); // 10 hours ago
moment().endOf('day').fromNow(); // in 14 hours
moment().startOf('hour').fromNow(); // 26 minutes ago
您可以编写一个使用这些格式化函数的函数,还可以编写一些逻辑来判断您需要哪些案例。