ワンダー取得したい:あなたの入力して
function goAheadMakeMyDate(s){
var d = new Date(s);
// override Date.toString()
d.toString = function(){ return ''+s; };
return d;
}
var example = goAheadMakeMyDate("Fri 19 July 2013 12:00:00 GMT");
example.toString() // returns string actually used to construct the date
'Fri 19 July 2013 12:00:00 GMT'
example.toLocaleString()
'Fri Jul 19 2013 08:00:00 GMT-0400 (EDT)'
1*example // gives seconds since epoch
1374235200000
を:
example = goAheadMakeMyDate('2013-07-18T17:00:00-05:00')
{ Thu, 18 Jul 2013 22:00:00 GMT toString: [Function] }
> example.toString()
'2013-07-18T17:00:00-05:00'
> example.toLocaleString() // I live in GMT-4
'Thu Jul 18 2013 18:00:00 GMT-0400 (EDT)'
> 1*example // convert to integer date
1374184800000
ただし、ifこの日付の変更を開始すると、toStringはでなく、に変更されます。
ISOフォーマットされた日付のポイントは、タイムゾーンに戻されます。 – SeinopSys
できません。 JavaScript' Date'オブジェクトにはタイムゾーン情報は保存されません。出力/ toStringing/loggingにはローカルブラウザのタイムゾーン(残念ながらデフォルト)またはUTC(明示的なメソッド)を使用します。 – Bergi
しかし、私が表示しようとしているものがブラウザのタイムゾーンにない場合はどうなりますか?なぜcant dateは文字列を解析し、iso文字列で指定されたタイムゾーンオフセットに日付オブジェクトを設定しますか? – user2434674