ホームページ  >  に質問  >  本文

javascript - JS文字列を8時間差のタイムスタンプに変換する問題

var time = new Date('2014-07-03'); //2014 年 7 月 3 日木 08:00:00 GMT 0800 (中国標準時)
Date.parse(time); //1404345600000


var time = new Date('2014-7-3'); //2014 年 7 月 3 日木 00:00:00 GMT 0800 (中国標準時)
Date.parse(time); //1404316800000


0をクリアした後、なぜあと8時間もあるのですか?

怪我咯怪我咯2687日前739

全員に返信(3)返信します

  • 黄舟

    黄舟2017-05-19 10:20:39

    ECMA-262 ed 3 によれば、時間解析は異なる方法で処理される可能性があります。

    ES5 では、タイムゾーンが指定されていない場合、ISO 8601 形式の文字列は UTC に解析され、非 ISO 8601 文字列を処理するための統一された動作はありません。

    ES2015 では、タイムゾーンが指定されていない文字列はローカル時間 (システム時間に従って) に解析されます。

    このフォーム内のすべての文字列を現地時間として処理したい場合は、自分で関数を書くことができます:

    リーリー

    返事
    0
  • 某草草

    某草草2017-05-19 10:20:39

    私も少し前にこの問題を目にしました。

    日付の形式を「2014/07/02」に変更すると、通常は0時に変換されます。

    参考: Xuanfengge http://www.xuanfengge.com/js-...

    返事
    0
  • 高洛峰

    高洛峰2017-05-19 10:20:39

    Firefoxでは正常です

    返事
    0
  • キャンセル返事