JavaScript で文字列を Date オブジェクトに変換するにはどうすればよいですか?
var st = "date in some format"
var dt = new Date();
var dt_st = // st in Date format, same as dt.
ベストアンサー1
文字列解析に最適な文字列形式は、日付 ISO 形式と JavaScript Date オブジェクト コンストラクターを組み合わせたものです。
ISO 形式の例:YYYY-MM-DD
またはYYYY-MM-DDTHH:MM:SS
。
しかし、ちょっと待ってください。「ISO 形式」を使用するだけでは、確実に動作しません。文字列は、ブラウザのベンダーとバージョンに応じて、UTC として解析される場合もあれば、ローカルタイムとして解析される場合もあります。ベスト プラクティスは、常に日付を UTC として保存し、計算を UTC として行うことです。
日付を UTC として解析するには、Zを追加します(例: ) new Date('2011-04-11T10:20:30Z')
。
日付を UTC で表示するには を使用し、.toUTCString()
日付
をユーザーの現地時間で表示するには を使用します.toString()
。
古い Internet Explorer との互換性を保つために (IE バージョン 9 未満は Date コンストラクターで ISO 形式をサポートしていません)、datetime 文字列表現を各部分に分割し、datetime 部分を使用するコンストラクターを使用する必要があります。例: new Date('2011', '04' - 1, '11', '11', '51', '00')
。月の数字は 1 少なくする必要があることに注意してください。
別の方法 - 適切なライブラリを使用する:
図書館も利用できますモーメント指定されたタイムゾーンで日付を解析できます。