[Jekyll] タイムゾーンをJST(日本標準時)に設定する
Nプログラマ(@Nprog128)です。
今回はJekyllでタイムゾーンを設定する方法のメモリアです。
Jekyllのタイムゾーンは実行しているOSのタイムゾーンが設定されています。
実行環境によっては設定が不要かもしれませんが、環境による違いをなくすために設定しておいたほうがよさそうです。
自分の場合は、dockerのコンテナのタイムゾーンが別の場所になっていたため時間がズレていました。
_config.ymlでtimezoneが設定できるので、これを使ってズレを修正します。
概要
- Jekyllの環境構築済み( dockerによる環境構築はこちらの記事 )
設定方法
公式のドキュメント のConfigration Options > Global Configration > timezoneの項目にあるので、これを参考に設定します。
» Configuration Options | Jekyll
設定方法は、 _config.ymlにtimezoneの設定を追記します。
_config.ymlをまだ作っていない場合は作成しましょう。
日本時間に設定する
JST(日本時)に設定したいので、書式を参考にしてTIMEZONEの部分をAsia/Tokyoにします。
設定の書式
1timezone: TIMEZONE
書式を参考にAsiz/Tokyoへ書き換え
1timezone: Asia/Tokyo
設定前と設定後のページを確認してみます。
時間表示はsite.timeを使って表示します。
site.timeはjekyllのコンパイルした時の日付が入っています。
なので、このsite.timeを使って表示する時間は、ページをコンパイルするたびにコンパイル時の時間が表示されるようになります。
サンプルで確認してみる
先程のtimezoneの設定前と変更後で、設定したtimezoneが反映されているかをサンプルで確認していきます。
時刻を表示するコードは、設定前と設定後共に同じものを使います。
index.md コードを開く
変更前
OSのデフォルトのタイムゾーンが使われているので確認しましょう。
ここではdockerを使っていますので、dockerのコンテナに入り確認します。
コンテナに入る
1docker-compose exec jekyll sh
タイムゾーンを確認(dateコマンド)
ここではdateコマンドを使って確認します。
1# dateコマンドを実行
2/srv/jekyll # date
3# dateコマンドの結果
4Sat Feb 9 01:38:06 CST 2019
表示された時間が、CST(中部標準時)になっていますね。
ちょっと分かりにくいですが、2019-02-09 01:38:06です。
ページで確認
ページ内で表示している時間を確認してみます。
ここもdockerと同じでタイムゾーンはCST(-0600, 中部標準時)になっていますね。
dateコマンドと画像と時刻がちょっとズレて(進んでいる)いるのは、キャプチャするのがかなり後だったからです。
変更後
それでは_config.ymlでtimezoneをAsia/Tokyoに設定した状態を確認します。
表示されている時刻がJST(+0900, 日本標準時)に変更されたことが確認できました。
終わりに
今回は、JekyllでタイムゾーンをJSTに設定する、という内容でした。
timezoneは最初に設定しておいた方がよさそうです。
それでは、このへんで。
バイナリー!