淘先锋技术网

首页 1 2 3 4 5 6 7

在使用JSON进行数据传输时,时间的格式化是一个很重要的问题。一般使用ISO 8601格式的时间字符串,但如果需要更精细的控制时间格式,可以使用format字符串来格式化时间。

// 创建一个日期对象
var date = new Date();
// 将日期对象格式化成YYYY-MM-DD HH:MM:SS的字符串
var formattedDate = date.getFullYear() + '-' +
('0' + (date.getMonth()+1)).slice(-2) + '-' +
('0' + date.getDate()).slice(-2) + ' ' + 
('0' + date.getHours()).slice(-2) + ':' + 
('0' + date.getMinutes()).slice(-2) + ':' + 
('0' + date.getSeconds()).slice(-2);
// 将格式化后的日期对象输出
console.log(formattedDate);

上面的代码通过使用Date对象的方法,将日期对象格式化成了YYYY-MM-DD HH:MM:SS格式的字符串。其中,getMonth方法返回的是0-11的月份,需要加1才是实际的月份。

如果想要更精细地控制时间格式,可以使用format字符串来格式化时间。

// 创建一个日期对象
var date = new Date();
// 定义一个格式化时间的函数
function formatDate(date, format) {
var o = {
"M+": date.getMonth() + 1, // 月份
"d+": date.getDate(), // 日
"h+": date.getHours(), // 小时
"m+": date.getMinutes(), // 分钟
"s+": date.getSeconds(), // 秒
"q+": Math.floor((date.getMonth() + 3) / 3), // 季度
"S": date.getMilliseconds() // 毫秒
};
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return format;
}
// 将日期对象格式化成YYYY年MM月DD日 HH时MM分SS秒的字符串
var formattedDate = formatDate(date, 'yyyy年MM月dd日 hh时mm分ss秒');
// 将格式化后的日期对象输出
console.log(formattedDate);

使用上面的代码,可以将日期对象格式化成具有更完整信息和更好阅读的中文格式。