現在時刻をタイムスタンプに変換するだけの場合は、 new Date().getTime()/1000 を直接使用できますが、特定の時刻または日付を Unix タイムスタンプに変換したい場合は、new はサポートされていません。 Date( "2013-1-1") パラメーターを含むこのメソッドは NaN を返します。
関数 getTime(day){
re = /(d{4})(?:-(d{1,2})(?:-(d{1,2}))?)?(?:s (d{1,2}): (d{1,2}):(d{1,2}))?/.exec(日);
新しい日付を返します(re[1],(re[2]||1)-1,re[3]||1,re[4]||0,re[5]||0,re[6]| |0).getTime()/1000;
}
//テスト
alert(getTime("2013-02-03 10:10:10"));
alert(getTime("2013-02-03"));
alert(getTime("2013-02"));
alert(getTime("2013"));
次の関数は、タイムスタンプを日付形式に変換します。その効果は、PHP の日付関数と同様です。ie6、Google、Firefox、およびその他のブラウザもサポートします。この機能はネチズンによって実装されました。将来時間があれば書きます^_^
関数 date(形式、タイムスタンプ){
var a, jsdate=((タイムスタンプ) ? new Date(タイムスタンプ*1000) : new Date());
var Pad = function(n, c){
if((n = n "").length
return new Array( c - n.length).join("0") n;
} else {
n を返します;
}
};
var txt_weekdays = ["日曜日"、"月曜日"、"火曜日"、"水曜日"、"木曜日"、"金曜日"、"土曜日"];
var txt_ordin = {1:"st", 2:"nd", 3:"rd", 21:"st", 22:"nd", 23:"rd", 31:"st"};
var txt_months = [""、"1月"、"2月"、"3月"、"4月"、"5月"、"6月"、"7月"、"8月"、"9月"、"10月"、"11月" 、 "12月"];
var f = {
// 日
d: function(){return Pad(f.j(), 2)},
D: function(){return f.l().substr(0,3)},
j: function(){return jsdate.getDate()},
l: function(){return txt_weekdays[f.w()]},
N: function(){return f.w() 1},
S: function(){return txt_ordin[f.j()] ? txt_ordin[f.j()] : 'th'},
w: function(){return jsdate.getDay()},
z: function(){return (jsdate - new Date(jsdate.getFull Year() "/1/1")) / 864e5 >> 0}、
// 週
W: function(){
var a = f.z(), b = 364 f.L() - a;
var nd2, nd = (new Date(jsdate.getFull Year() "/1/1").getDay() || 7) - 1;
if(b
1 を返します;
} else{
if(a = 4 && a >= (6 - nd)){
nd2 = 新しい日付(jsdate.getFull Year() - 1 "/12/31");
return date("W", Math.round(nd2.getTime()/1000));
} else{
return (1 (nd 0);
}
}
}、
// 月
F: function(){return txt_months[f.n()]},
m: function(){return Pad(f.n(), 2)},
M: function(){return f.F().substr(0,3)},
n: function(){return jsdate.getMonth() 1},
t: function(){
var n;
if( (n = jsdate.getMonth() 1) == 2 ){
return 28 f.L();
} else{
if( n & 1 && n 7 ){
31 を返す;
} else{
30 を返します;
}
}
}、
// 年
L: function(){var y = f.Y();return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0}、
//o まだサポートされていません
Y: function(){return jsdate.getFull Year()},
y: function(){return (jsdate.getFull Year() "").slice(2)},
// 時間
a: function(){return jsdate.getHours() > 11? "午後" : "午前"},
A: function(){return f.a().toUpperCase()},
B: 関数(){
// ピーター・ポール・コッホ:
var off = (jsdate.getTimezoneOffset() 60)*60;
var theSeconds = (jsdate.getHours() * 3600) (jsdate.getMinutes() * 60) jsdate.getSeconds() off;
var beat = Math.floor(theSeconds/86.4);
if (ビート > 1000) ビート -= 1000;
if (ビート
if ((String(ビート)).length == 1) ビート = "00" ビート;
if ((String(ビート)).length == 2) ビート = "0" ビート;
ビートを返す;
}、
g: function(){return jsdate.getHours() % 12 || 12}、
G: function(){return jsdate.getHours()},
h: function(){リターンパッド(f.g(), 2)},
H: function(){return Pad(jsdate.getHours(), 2)},
i: function(){return Pad(jsdate.getMinutes(), 2)},
s: function(){return Pad(jsdate.getSeconds(), 2)},
//u はまだサポートされていません
// タイムゾーン
//eはまだサポートされていません
//まだサポートしていません
O: function(){
var t = Pad(Math.abs(jsdate.getTimezoneOffset()/60*100), 4);
if (jsdate.getTimezoneOffset() > 0) t = "-" t; else t = " " t;
return t;
}、
P: function(){var O = f.O();return (O.substr(0, 3) ":" O.substr(3, 2))},
//Tはまだサポートされていません
//Z はまだサポートされていません
// 完全な日付/時刻
c: function(){return f.Y() "-" f.m() "-" f.d() "T" f.h() ":" f.i() ":" f.s() f.P()},
//r まだサポートされていません
U: function(){return Math.round(jsdate.getTime()/1000)}
};
return format.replace(/[\]?([a-zA-Z])/g, function(t, s){
if( t!=s ){
// 逃げました
ret = s;
} else if( f[s] ){
// 日付関数が存在します
ret = f[s]();
} else{
// 特に何もありません
ret = s;
}
return ret;
});
}
//テスト
alert(date('Y-m-d H:i:s',(new Date).getTime()/1000));
alert(date('Y-m-d',(新しい日付).getTime()/1000));
alert(date('Y-m-d H:i:s','1355252653'));