質問

「DD/MM/YYYY」形式の日付列と、Googleアプリスプレッドシートの「HH:MM AM/PM」形式のタイム列があります。 APPスクリプトでは、これら2つの値をDateTimeとして結合したいと考えています。これどうやってするの?

例 - 日付:2010年13/12、時間:午後4時30分、DateTimeオブジェクトとして'13/12/2010 4:30 PM 'のような合計値を取得したいと思います。

GetYear、GetDay JS関数を使用して、日付と時刻を個別に解析しようとしました。使用して新しい日付を作成しました

new Date(year, month, day, hours, minutes)

しかし、何らかの理由で、「4:30」は1899年11月30日午前10時30分のような完全な奇妙な日付として示されています。年、日、月を正確に抽出できますが、数時間や分を抽出できます。

役に立ちましたか?

解決

私はこれに答えました これ Googleアプリフォーラムスレッド。

「最初に、日付と時刻の間に違いはありません(フォーマット以外)、それらはすべて日付オブジェクトです。現在、スプレッドシートの日付/時刻の値である数字は、以来の日数です。 「エポック」、したがって「時間」は実際には数字の小数の部分です。スプレッドシートで0(ゼロ)と入力してから、DateTime形式を選択すると、エポックは「12/30/1899 0です。 :00:00 "スプレッドシートの現在のタイムゾーン。つまり、異なるタイムゾーンで構成された異なるスプレッドシートでは、エポックが変わる可能性があります。それは私にとって非常に奇妙です。それは必ずしもこのようなものではありませんでしたが、Googleはこれがユーザーにとってより良いと考えているようでした。 /10 14:00 "スプレッドシートで、タイムゾーンを他のものに変更すると、日付/時刻は変更されません。新しいタイムゾーンで14:00になります。

ガスでは、エポックは「1/1/1970 0:00:00 GMT+0」です。したがって、エポックは異なり、おそらくタイムゾーンもそうです。これにより、ガスとスプレッドシートの間の動作日が完全に混乱します。ガスのエポックをテストするには、range.setValue(new Date(0))を実行します。 「

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top