JavaScriptでepoch timeをYYYY/MM/DD HH:MM:SSに変換する
l-w-i
l-w-i
ATOMRSS
  • ソースコードID: 667
  • 登録日時: 2008/10/11 02:02
  • 最終更新日時: 2008/10/15 16:45
  • アクセス数: 614
  • タグ:  javascript
  • codeなにがしブックマークに追加する 0 users
  • このページを del.icio.us に追加
  • このページをはてなブックマークに追加
  • GoodJob
  • 3

GJGJGJ

説明

JavaScriptでJSONを扱っていて日付データ(epoch time)を「YYYY/MM/DD HH:MM:SS」形式に変換する簡単な方法が分からなかったので自分で書いてみました。

みな同じようなことをやっているのでしょうか?

ソースコード

コメント

  • ゲスト
  • 1:ゲスト
  • 2008/10/11 11:14

JavaScript 単体だとそういう関数は無いんで、日付フォーマット変換ライブラリを使うんじゃないでしょうかねー。私は dateformat.js を使ってます。

http://www.enjoyxstudy.com/javascript/dateformat/
http://suz-lab.blogspot.com/2008/08/javascript.html
http://d.hatena.ne.jp/cloned/20061202

GJGJGJ

文字列にして正規表現置換するのはどうでしょう。
月だけは別処理になるのがいけてないですが。

function epoch2date(epoch)
{
  var date = new Date(epoch * 1000);
  return date.toString().replace(
    /\D*(\d+)\s*(\d+)\s*(\d+:\d+:\d+).*/,
    '$2/' + ('0' + (date.getMonth() + 1)).substr(-2) + '/$1 $3');
}

GJ

  • l-w-i
  • 4:l-w-i
  • 2008/10/11 20:21

ゲストさん

いろいろあるんですね。参考になります。

hokousyaさん

そういう手もありますね。ありがとうございます。

でも確かに月だけ別処理なのが気になります(笑)。

  • GoodJob
  • 0

  • ゲスト
  • 5:ゲスト (BLUEPIXY)
  • 2008/10/12 01:14

toString() など文字列に変換する関数の書式はちゃんと決まっていなかったような気がします。

GJ

なるほど、たしかに IE だけは妙な形式をはきますね。
ご指摘ありがとうございます。勉強になりました。

他のブラウザは概ね RFC2822 互換なので実用上問題ないかと
思ったのですが、 IE はテストしていませんでした。
最近は Windows 起動するのがおっくうになってしまって・・・(^^;

  • GoodJob
  • 0

  • ゲスト
  • 7:ゲスト (BLUEPIXY)
  • 2008/10/13 04:38

Date のtoString は、元々「実装依存」ですので、
ブラウザやバージョンのチェックを付加することで、
実用に使えると言えば使えるのかもしれませんが、
それぐらいなら、実装依存しない関数を使ってライブラリに押し込める方がいいんじゃないかと思います。

GJ

  • l-w-i
  • 8:l-w-i
  • 2008/10/13 05:48

ゲスト (BLUEPIXY)さん

いろいろご指摘ありがとうございます。

せっかくなので日付を文字列に変換するメソッドのブラウザ別出力結果をまとめてみました。

http://l-w-i.net/m/20081013_01.txt

hokousyaさん

僕も普段はLinuxとMac OS Xをメインに使っているのでWindowsは必要に迫られた時(*)しか起動しません。しかもWindowsはMac OS XのVMware Fusion上で起動しています。

(*) Excelを使わなければいけない時とか

  • GoodJob
  • 0

おお、ブラウザ別の日付→文字列変換のまとめ、素晴らしいですね!
本当は私がこれを調べなければいけませんでした(^^ゞ

なるほど、 JSON 向けなどには toGMTString などが使えそうですね。
ただ、ローカルタイムが取得できないので、汎用的には BLUEPIXY さんが
仰るとおり、地道に処理するしかなさそうです。

ほんとうに勉強になりました。
ありがとうございます!

  • GoodJob
  • 0

前へ 1 次へ

コメントする

[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。

[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。

ゲスト投稿者:ゲスト:

PDFLib | A library for processing PDF on the fly プレゼン公開・共有サイト handsOut.jp オープンタイプ株式会社 チーム・マイナス6% - みんなで止めよう温暖化

ソースコードのブログパーツ

デフォルトのフォントサイズ
修飾
表示サイズ
px px
プレビュー (表示する)
下のプレビュー領域をクリックすると、ポップアップで全体を見ることができます。
パラメータが不正です

    GoodJobしたユーザ

    • hokousya
    • 台北猫々

    ブックマークコメント

    関連するなにがし

    前へ 1 次へ

    タグ

    dyndnsbytearrayinputstreamobjectinputstreambytearrayoutputstreamobjectoutputstreamディープコピーdeepcopyarraylistiteratorチェックボックス複数multibytexencentos文字エンコーディングinit_connectcharacter-set-servercollation-serverdefault-character-setf:label動的メソッド呼び出しヘルパーメソッドwsse2重登録防止prototype.js位置positionpositionedoffsetscrolltoスクロールlink_tocyclecheck_box_tagチュートリアルactive_formerror_messages_forハイライトバリデーションvalidate便利リストデコレーションメールデコメ非対応機種tilestext_field_tag一括複数情報etherealrtphexテキストデータ抽出validwhenリセット一括更新plop置換replacepcoslogmixisregソケットnet::telnetfopenmutexサンプルcalendar[linux][bash][シェルスクリプト][大容量]mobilerorrails2.1clipboardクリップボード横向きピラミッドs2jdbc-genjsonicお絵かきフルパス名抽出サブドメインサブドメイン名s2jdbc自動生成エンティティドコモxhtmlrestdoltengspidering背景変更グラデーションiso一括登録xトークンチェックevalmonitorslavereplication画像処理

    前へ 1 2 3 ... 8 次へ