概要
日付関係の処理でちょっと止まったりしたので備忘録としてメモ。
随時更新すると思う
getYear と getFullYear
3日後の日付を取得したくて以下のような処理を書いたら、年がうまく取得できなかったという話
var today = new Date();
var three_days_after = new Date(today.getYear(),today.getMonth(),today.getDate()+3);
ログを見るとこうなってました。0120年? GMT+0918?
Sat Sep 19 0120 00:00:00 GMT+0918 (日本標準時)
調べたらこういうことらしい。
「getYear()」は2桁の年を取得する関数で「getFullYear()」が4桁の年を取得する関数です。
(参考:http://piyopiyocs.blog115.fc2.com/blog-entry-938.html)
getFullYear()に変更
var today = new Date();
var three_days_after = new Date(today.getFullYear(),today.getMonth(),today.getDate()+3);
Sat Sep 19 2020 00:00:00 GMT+0900 (日本標準時)
無事に直りました。GMT+0918のほうは調べてもよく分からんかった
時刻表記 HH:mm と hh:mm
HH(H) → 24時間表記(0~24)
hh → 12時間表記(0~12)
という違いがあるらしいですね。
event_time = Utilities.formatDate(new Date(),'Asia/Tokyo','HH:mm'); //→13:00
event_time = Utilities.formatDate(new Date(),'Asia/Tokyo','H:mm'); //→13:00
event_time = Utilities.formatDate(new Date(),'Asia/Tokyo','hh:mm'); //→01:00
HH/hh → 12時間表記
H → 24時間表記
っていうのも見かけたけど、実際の挙動は↑でした。。