西暦/月/日/時:分:秒:ミリ秒 を設定するコードの例
2020年1月2日3時4分5秒006ミリ秒を設定してログに出して
Google Apps Scriptでフォーマットしてみる
コード.gs
function set_datetime(){ var date = new Date(); date.setFullYear(2020); date.setMonth(0); date.setDate(2); date.setHours(3); date.setMinutes(4); date.setSeconds(5); date.setMilliseconds(6); Logger.log(date); Logger.log(format_date(date)); } function format_date(date){ return Utilities.formatDate(date, 'Asia/Tokyo', 'yyyy/MM/dd/HH:mm:ss:SSS'); } |
意訳この機能がやること 現在日時を取得する 西暦を設定する 月を設定する(月は["Jan", "Feb", "Mar"..., "Dec"]の配列で、0はJan→日本語では1月) 日を設定する 時を設定する 分を設定する 秒を設定する ミリ秒を設定する dateをログに出す フォーマットしたdateをログに出す この機能がやること dateを東京時間でミリ秒までフォーマットして返す |
実行結果
補足
(以下、疑問に思ったことの備忘録)
setMonthだけなぜ 0 始まりなんだろう
上のコード.gsで疑問に思うのは月だけ 0 で始まる点
1月はsetMonth(0)
2月はsetMonth(1)
3月はsetMonth(2)
4月はsetMonth(3)
5月はsetMonth(4)
6月はsetMonth(5)
7月はsetMonth(6)
8月はsetMonth(7)
9月はsetMonth(8)
10月はsetMonth(9)
11月はsetMonth(10)
12月はsetMonth(11)
上のコード.gsの中の
var date = new Date()
︙
Logger.log(date)
のログを見ると
Thu Jan 02 03:04:05 GMT+09:00 2020
このように「月」は「数値」ではなく 「Jan」 という「英語で1月」を表す「January」の略で、「日本語では1月」を表す「文字列」になっている
setMonthを使う場合は
["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
という文字列を要素に持つ配列があって
0番目はJan、11番目はDecを表すと考えたらよいのかも
参考
Date.prototype.setFullYear()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear
Date.prototype.setMonth()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth
Date.prototype.setHours()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours
Date.prototype.setMinutes()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes
Date.prototype.setSeconds()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds
Date.prototype.setMilliseconds()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds
Date.prototype.setFullYear()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear
Date.prototype.setMonth()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours
Date.prototype.setMinutes()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes
Date.prototype.setSeconds()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds
Date.prototype.setMilliseconds()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds