4

別の日付を比較するために使用できるように、日付文字列 (「17/08/2012」など) を日付に取得する際に問題が発生しています。

「17/08/2012」で日付「17/08/2012 00:00:00 GMT」を生成して、比較に正しく使用できるようにしたいと思います。これが私がやろうとしていることの最も簡単な部分になると思いましたが、明らかにそうではありません。以下の私の現在のコードを見てください。

function dateToString(dateString) {
  var dateArray = dateString.split("/");
  var year = dateArray[2];
  var month = dateArray[1];
  var day = dateArray[0];
  var date = new Date(year, month - 1, day);

  return date;
}

このコードは現在、「2012 年 8 月 17 日金曜日 16:00:00 PDT 2012」を生成しますが、午後 4 時と表示される理由がまったくわかりません。私は過去1時間、これを行うためのさまざまな方法を試してきましたが、まだ正しくできないようです. 正しく変換する方法はありますか?

いつものように、どんな助けも大歓迎です。

4

1 に答える 1

4

あなたのコードは正しいです。16 h PDT は太平洋時間帯の時間です。私が正しければ、GMT より 9 時間進んでいます。スクリプトとスプレッドシートのタイムゾーン設定を確認して、日付に関するすべての操作が正常に行われるようにする必要があります。設定が適切な場合でも、ロガーが PDT 値を表示することがあることを覚えておいてください (少なくとも、過去に私にはかなり頻繁に起こりました...)。Utilities.formatDate()

日付オブジェクトの詳細については、このリファレンス ページをご覧ください。

于 2012-08-17T17:17:13.110 に答える