Groovy

UTC -> JSTへの時刻変換

More than 1 year has passed since last update.


TL;DR

UTCで食わせて、JST(Asia/Tokyo)で出力する。


コード

def dateFormat = "yyyy-MM-dd HH:mm:ss"

// UTCで食わせて
jst = (new Date()).parse(dateFormat, "2017-02-09 13:24:33", TimeZone.getTimeZone("UTC"))

// JSTで出力する
println jst.format("yyyy-MM-dd HH:mm:ss", TimeZone.getTimeZone("Asia/Tokyo"))


output

2017-02-09 22:24:33


あるいは、安直に9時間足したいならこんなイメージ。

jst.set(hourOfDay: jst[java.util.Calendar.HOUR_OF_DAY] + 9)

参考:http://docs.groovy-lang.org/latest/html/groovy-jdk/java/util/Date.html#set(java.util.Map)


thanks for

大元のネタはこちら。(結局原型が残らなかったけど。。)

「[Groovy|Java]タイムゾーンに関するメモ」

http://qiita.com/saba1024/items/15f2515b2a26fbf2a5ce