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

Jekyll Jekyll

Nプログラマです。

今回はJekyllでタイムゾーンを設定する方法をメモしておきます。

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

自分はdockerを使っていたので、コンテナのタイムゾーンが現在の位置と異なっていたため時間がずれていました。

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

概要

Jekyllの環境構築済み(dockerによる環境構築はこちらの記事)

設定方法

公式のドキュメントのConfigration Options > Global Configration > timezoneの項目にあるのでこれを参考に設定します。

Configuration Options
The tables below list the available settings for Jekyll, and the various options (specified in the configuration file) and flags (specified on the command-line)...

設定方法は、 _config.ymlにtimezoneの設定を追記します。
_config.ymlをまだ作っていない場合は作成しましょう。

設定の書式

timezone: TIMEZONE

日本時間に設定する

JST(日本時)に設定したいので、TIMEZONEの部分をAsia/Tokyoにします。

timezone: Asia/Tokyo

これで設定前と設定後のページを確認してみます。

時間表示はsite.timeを使います。timeはjekyllのコンパイルした時の日付が入っています。
(ページを更新するたびにコンパイルした時間で更新される)

サンプル

それでは変更前と変更後でどう変わっているかをサンプルで確認していきます。
テンプレートのコードは共通です。

コード(index.md)

---
---
# index
## site.timeを表示
{{ site.time }}

変更前

OSのデフォルトのタイムゾーンが使われているので確認しましょう。

ここではdockerを使っていますので、dockerのコンテナに入り確認します。

コンテナに入る

docker-compose exec jekyll sh

タイムゾーンを確認(dateコマンド)

# dateコマンドを実行
/srv/jekyll # date
# dateコマンドの結果
Sat Feb 9 01:38:06 CST 2019

表示された時間が、CST(中部標準時)になっていますね。

ページで確認

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

結果
cap-01
時刻がCST

ここもdockerと同じでCST(-0600, 中部標準時)になっていますね。

変更後

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

cap-02
時刻がJST

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

終わりに

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

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

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

タイトルとURLをコピーしました