[Python&Django]日付を扱うときの注意と方法

Django日付を扱うときの注意と方法

Djangoで日付を扱うプログラムを書いていてハマりにハマってしまっていたところこちらの記事に救われたのでご紹介です。

Pythonのタイムゾーンの扱い

↑詳しくは上記をご参照ください。Pythonで日付を扱う時にすごく重宝します。

Djangoで日付を扱うときの大切なこと

Djangoではsettings.pyでタイムゾーンの指定ができます。

[code]TIME_ZONE = ‘Asia/Tokyo’

USE_TZ = True

[/code]

こんな風に指定します。タイムゾーンの指定をしているとAdminページやViewを表示した時にきちんと日本時間で表示してくれます。

あまりにも勝手にやってくれるので細かいことを気にしていなかったのですが、実際に自分で日付を使ったプログラムをPythonで書いていくとなると適当な理解では時間を大量に消費しました(;´∀`)

Djangoで日付を扱うときの鉄則!

それは、「データベースには標準時で保存して、ユーザーに見えるところ(フロントエンド)ではローカルタイムを使用すること。」

初めに紹介したQiitaでも書かれていますが、このことを全く知らずに「ああでもない、こうでもない」と時間を使いました。

Djangoのと言いましたがプログラミングの鉄則なのだと思います。

今回はユーザーに見えないバックエンドを作っていたのですが、ここでローカルタイム(日本時間)を使用してコーディングをしてしまいました。

別にできなくはないのですが、データベースに標準時で保存されているのをわざわざ日本時間に変換して計算しないといけないのでとても面倒でした。

次、似たようなことをする時はバックエンドの処理も標準時でします。

 

最後に

標準時で仕事をしているイギリス人は時間の計算が楽でいいなー。と思っていたのですが、日本にいる私達も時間の処理をする時は全部標準時で処理してしまえばよかったんですね。

フロントエンドだけ日本時間に揃えれば問題ないですもんね。

今日はすごく独り言+日記っぽい内容でした。

最後まで読んでいただきありがとうございます。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください