マニアな管理人が実際に借りている数々のレンタルサーバーに関する情報をお届け

chrome safariでnew Date()したら中身がNaNになってしまう。

作成した日付関連処理のjavascriptを確認していたらiPhoneで期待した結果が得られなかった。

書いた処理はこんなかんじ↓

d='2014-05-05 11:11:11';
now=new Date(d);
echo now;

抜粋するとこんな感じのスクリプト。
実際変数dにはデータベースから取得したdate型の文字列が入っています。
で、結果出力されるのはNaNのみ。

他のブラウザでも確認したところ、FirefoxとAndroidでは問題ないのだが、chromeとsafariではダメらしい。

解決策

問題となっていたのは日付部分のハイフンだった。ハイフンをスラッシュにすれば良いらしいので、書き換える。

d='2014-05-05 11:11:11';
now=new Date(d.replace(/-/g,"/"));
echo now;

replaceを使用してハイフンをスラッシュにしたところ期待した値が取得できました。

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。