Google App Engine for JAVA の TimeZone

2018年2月26日

この記事は最初の投稿日から13年経過しています。内容が古い可能性があります。

グローバルってやつですね。

昨日GAEに載せ替えたtwitterのbot(今年の経過週数 (weekofyear)さんはTwitterを使っています)ですが、今朝6:00にツイートされるはずだったのですが、ツイートされてません。

ログを見ると、AM 6:00に動いているのですが、ツイート内容が前回と変わらないのでエラーになってました。(twitterのAPIは1つ前のツイートと同一内容はツイートできない)

なんでー。日が変わってるから「残り日数」部分が1つ前と違うのに…。と思ったところではたと気づきました。

TimeZone が違うのですね…。

publicvoid doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println(TimeZone.getDefault().getDisplayName());
resp.getWriter().println(TimeZone.getDefault().getID());
}

というのを動かしてみると、

Coordinated Universal Time
UTC

となってました。UTCなのですね。

Asia/Tokyo のTimeZoneを使うように修正したので、きっと明日は大丈夫でしょう。

プログラム

Posted by toshyon