Google Apps ScriptのUtilitiesクラスに、Java SEのSimpleDateFormatクラスの仕様にしたがって指定した文字列を日付型に変換する「parseDate」メソッドが追加されました。
使い方は上記リファレンスにある通り、日付として解析する文字列値と出力タイムゾーン、SimpleDateFormatクラスの仕様に従った日付形式をパラメーターとして実行することで、日付型の値が返されます。
// This set of parameters parses the given string as a date in Greenwich Mean Time, formatted // as year-month-dateThour-minute-second. var date = Utilities.parseDate("1970-01-01 00:00:00", "GMT", "yyyy-MM-dd' 'HH:mm:ss"); Logger.log(date);
これまで文字列から日付に変換する際は下記のようにDateクラスのコンストラクタで渡すことが多かったのではないかと思いますが、例えば全角文字が含まれる文字列のように変換できない場合は処理が失敗していました。
function myFunction() { const str = '2022/12/31 12:34:56'; console.log(new Date(str)); //Invalid Date console.log(Utilities.parseDate(str, 'JST', 'yyyy/MM/dd HH:mm:ss')); //Sat Dec 31 2022 12:34:56 GMT+0900 (Japan Standard Time) }
parseDateメソッドを使うことで意図した通りに変換できるため、今回の機能追加は地味ながらも非常に役立つアップデートだと思います。
この記事へのコメントはありません。