ヘッダーロゴ

Google apps scriptで日付を表示してみよう!

Google apps scriptで日付を表示出来たら...

自動取得したデータの管理にもってこいですよね。

アヒルン
日付表示や取得は他の指示と一緒に使えれば便利そうだね!
うちゅうじん
知っておいて損はないだろう

というわけで今回はGoogle Apps Scriptで日付を取得する方法についてご紹介いたします。

Google apps scriptで日付を取得してみよう!

先に冒頭のGIFで使用したスクリプトをご紹介します。

//googleの日付取得(JST日本標準)

function getdate(){

var formatDate = Utilities.formatDate(new Date(), "JST","yyMMdd");
var ss = SpreadsheetApp.getActiveSpreadsheet();

/*メッセージボックスへ日付を表示*/
Browser.msgBox(formattedDate);
Browser.msgBox("A1セルへ表示します。");

/*A1セルへ今日の日付を表示*/
ss.getRange('A1').setValue(formattedDate)

}

Google apps scriptで日付を表示するには、「Dateオブジェクト」と「Utilities.formatDate」メソッドを使います。

  1. Dateオブジェクトで現在の日付を取得
  2. Utilities.formatDateで日付の書式を指定

といった手順ですね。

 

そこから

  • メッセージボックスに1を表示
  • 指定のセルへ1を表示

とする上記スクリプトを作成しました。

アヒルン
またなんだか難しそうな...
うちゅうじん
大丈夫、1つずつ説明しよう

1. Dateオブジェクトで日付を取得する

Dateオブジェクトで現在の日付を取得します。

//Dateオブジェクトで現在の日付けを取得する   

var today = new Date(); /*取得した日付けをtodayに代入*/

アヒルン
Dateオブジェクトって何?
うちゅうじん
日付や時間を扱うことを簡単にしてくれる目的語のことだ
アヒルン
へ〜便利な用語があるんだね

Dateオブジェクト

Dateオブジェクトは日付や時間などを扱うためのメソッドが定義されている。使用することで時間の計算や日付の換算等を簡単に行うことができる。

 現在の日付、時刻のオブジェクトを作成 
   例:today = new Date();

参照元:banban/java/ref_15.html

2. Utilities.fomatDateメソッドで日付の書式を指定する

Utilities.formatDateメソッドで表示する日付の書式を設定します。今回は日付けを西暦・月日で表示してみます。

//取得した日付けを西暦月日で表示する

/*西暦月日をformatdateに代入*/

var formatDate = Utilities.formatDate(today(), "JST","yyyy年M月d日");

アヒルン
Utilities.formatDateメソッドの中にある"JST"って何?
うちゅうじん
"JST"=日本標準時のことだ。メソッドのタイムゾーンを設定する必要があるのだが、Google apps scriptの標準はGMT(グリニッジ標準)であり日本標準と9時間の時差がある。
アヒルン
JSTでタイムゾーン指定しないと現時刻から9時間もずれた時間を取得しちゃうんだね、なるほど...

formatDate(date, timeZone, format)

Java SE SimpleDateFormatクラスで説明されている仕様に従って、日付の書式を表示します。

タイプ 説明
data Date DateStringとしての形式に
timeZone String 結果の出力タイムゾーン
format String SimpleDateFormat仕様ごとのフォーマット

引用元:utilities#formatDate

Logger.logで日付けが取得出来ているか確認

ここまで順調にきたら一度Looger.logメソッドを追記して日付けが正しく取得出来ているか確認してみましょう。

//Google apps script日付けを取得して表示する//
function 日付け取得(){
	  
  /*Dateオブジェクトで取得した日付をtodayに代入*/
  var today =  new Date();  

  /*取得した日付を西暦月日で表示してformatdateに代入*/
  var formatDate = Utilities.formatDate(today(), "JST","yyyy年M月d日");  
  
  /*日付けの取得可否を確認する*/
  Logger.log(formatDate);		
}
アヒルン
...できた!ログに表示されてるよ!

うちゅうじん
OK(日付が変わっているな...)、では取得した日付けをメッセージボックスに表示してみよう。

関数で完成!スプレッドシートのプルダウンを連動する方法

次のページへ >

  • この記事を書いた人
  • 最新記事

OYAKUN

30代半ば♂妻・子3人の5人で日々激戦中。Google app script&VBA初心者が自分の備忘録を兼ねて「スプレッドシート、Excel、WordPress、plugin」の設定等、主にブログやアフィリエイト周辺のtipsを背伸びしながらご紹介しています。

© 2021 OYAKUDACHI.XYZ