我一直在使用
timeStamp = new Date(unixTime*1000);
document.write(timeStamp.toString());
它将输出例如:
Tue Jul 6 08:47:00 CDT 2010
// 24小时时间
屏幕不动产是主要的,所以我希望用日期和输出占用更少的空间:
mm / dd / yy hh:mm
//也是24小时的时间
答案 0 :(得分:11)
只需向Date
对象添加一个额外的方法,以便您可以根据需要重复使用它。首先,我们需要定义辅助函数String.padLeft
:
String.prototype.padLeft = function (length, character) {
return new Array(length - this.length + 1).join(character || ' ') + this;
};
在此之后,我们定义Date.toFormattedString
:
Date.prototype.toFormattedString = function () {
return [String(this.getMonth()+1).padLeft(2, '0'),
String(this.getDate()).padLeft(2, '0'),
String(this.getFullYear()).substr(2, 2)].join("/") + " " +
[String(this.getHours()).padLeft(2, '0'),
String(this.getMinutes()).padLeft(2, '0')].join(":");
};
现在您可以像Date
对象的任何其他方法一样使用此方法:
var timeStamp = new Date(unixTime*1000);
document.write(timeStamp.toFormattedString());
但请记住,这种格式化可能令人困惑。例如,发布时
new Date().toFormattedString()
该函数此时返回07/06/10 22:05
。对我来说,这更像是6月7日而不是7月6日。
编辑:仅当年份可以使用四位数字表示时才有效。在9999年12月31日之后,这将出现故障,您将不得不调整代码。