[Jekyll] タイムゾーンをJST(日本標準時)に設定する



Nプログラマ(@Nprog128)です。

今回はJekyllでタイムゾーンを設定する方法のメモリアです。

Jekyllのタイムゾーンは実行しているOSのタイムゾーンが設定されています。

実行環境によっては設定が不要かもしれませんが、環境による違いをなくすために設定しておいたほうがよさそうです。

自分の場合は、dockerのコンテナのタイムゾーンが別の場所になっていたため時間がズレていました。

_config.ymlでtimezoneが設定できるので、これを使ってズレを修正します。

概要

設定方法

公式のドキュメント の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 コードを開く
index.md
1---
2---
3# index
4## site.timeを表示
5{{ site.time }}

変更前

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です。

ページで確認

ページ内で表示している時間を確認してみます。

/img/article/2019/02/09/01.jpg
変更前の結果: 時刻がCST

ここもdockerと同じでタイムゾーンはCST(-0600, 中部標準時)になっていますね。

なプ

dateコマンドと画像と時刻がちょっとズレて(進んでいる)いるのは、キャプチャするのがかなり後だったからです。

変更後

それでは_config.ymlでtimezoneをAsia/Tokyoに設定した状態を確認します。

/img/article/2019/02/09/02.jpg
変更後の結果: 時刻がJST

表示されている時刻がJST(+0900, 日本標準時)に変更されたことが確認できました。

終わりに

今回は、JekyllでタイムゾーンをJSTに設定する、という内容でした。

timezoneは最初に設定しておいた方がよさそうです。

それでは、このへんで。
バイナリー!

\ ちょっとお買い物 /


関連した記事