2014年10月15日

ISO8601形式の日付をJavascriptで日本時間に変換

ISO8601とは日付と時刻の表記に関する国際規格で、「2014-10-08T12:00:00.000Z」のような形式になっています。

ちなみに、SalesforceのChatter Rest API から取得した日付がこの形式でした。

下記のサイトにある通り、日本時間では9時間前になるので、単純に桁数で日時を分けたりするとおかしくなります。



いちいち時間に9時間プラスするのは面倒なので、Javascriptで簡単に変換はできないものかと思い、調べてみました。


一番楽なのは、Date.parse()を使う方法です。
※ただしIE8はNG

// ミリ秒にパース
var ms = Date.parse('2014-10-08T12:00:00.000Z');

// Date型に変換
var dt = new Date(ms);

// 結果
alert(dt.toLocaleString());  // 2014/10/08 21:00:00 JST


コメントで教えてもらったのですが、以下でできました。なんかすいません。。

// Date型に変換
var dt = new Date('2014-10-08T12:00:00.000Z');

// 結果
alert(dt.toLocaleString());  // 2014/10/08 21:00:00


koreedablog at 16:22│コメント(2)│トラックバック(0) 
Javascript 

トラックバックURL

コメント一覧

1. Posted by 通りすがり   2016年02月11日 01:44
new Date("2014-10-08T12:00:00.000Z")

でよくね?
2. Posted by koreeda   2016年06月09日 17:06
ほんとだ。おれなにやってんだ。。
ご指摘ありがとうございます!

コメントする

名前
 
  絵文字
 
 
livedoor プロフィール

koreedablog

記事検索