2011年5月11日 星期三

[javascript] UNIX Time 轉換 格式

用js 取得 UNIX Time :

var foo = new Date();
Unixtime = parseInt(foo.getTime() / 1000);

unix_to_time(Unixtime , 0 ); // 第一個變數 UnixTime ,第二個變數 時差. (例如: 台灣 +8 );

結果: 2011-05-11 16:42:45

function unix_to_time(unixtime , hour ){
unixtime = parseInt(unixtime,10) + (hour*3600);
return new Date(unixtime*1000).formatDate('yyyy-MM-dd hh:mm:ss');
}

Date.prototype.formatDate = function(format) {
var date = this;
if (!format)
format = "MM/dd/yyyy";
var month = date.getMonth() + 1;
var year = date.getFullYear();
format = format.replace("MM", month.toString().padL(2, "0"));

if (format.indexOf("yyyy") > -1)
format = format.replace("yyyy", year.toString());
else if (format.indexOf("yy") > -1)
format = format.replace("yy", year.toString().substr(2, 2));

format = format.replace("dd", date.getDate().toString().padL(2, "0"));
var hours = date.getHours();

if (format.indexOf("t") > -1) {
if (hours > 11)
format = format.replace("t", "下午")
else
format = format.replace("t", "上午")
}

if (format.indexOf("HH") > -1)
format = format.replace("HH", hours.toString().padL(2, "0"));

if (format.indexOf("hh") > -1) {
if (hours > 12) hours - 12;
if (hours == 0) hours = 12;
format = format.replace("hh", hours.toString().padL(2, "0"));
}

if (format.indexOf("mm") > -1)
format = format.replace("mm", date.getMinutes().toString().padL(2, "0"));

if (format.indexOf("ss") > -1)
format = format.replace("ss", date.getSeconds().toString().padL(2, "0"));

return format;
}
String.prototype.padL = function(width, pad) {
if (!width || width < 1)
return this;

if (!pad) pad = " ";

var length = width - this.length

if (length < 1)
return this.substr(0, width);

return (String.repeat(pad, length) + this).substr(0, width);
}
String.prototype.padR = function(width, pad) {
if (!width || width < 1)
return this;

if (!pad) pad = " ";

var length = width - this.length

if (length < 1) this.substr(0, width);
return (this + String.repeat(pad, length)).substr(0, width);
}
String.repeat = function(chr, count) {
var str = "";
for (var x = 0; x < count; x++) {
str += chr
};
return str;
}

【下列文章您可能也有興趣】

沒有留言: