Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
pythonの日付処理モジュールとしてdatetimeパッケージがあるが、dateutilパッケージのモジュールがもっと色々面倒を見てくれるのでちょっと調べてみた。 dateutilがやってくれること 沢山あるけど以下、わたしが使いたいと思った機能を抜粋。 月末を算出してくれる。 「次の◯曜日」を算出してくれる。 「当月の最終◯曜日」を算出してくれる。 ISO-8601形式の日付文字列をdatetimeに変換してくれる。 月末の算出 月初の算出はdatetime.timedeltaでも簡単にできる。 from datetime import timedelta, date date(2011, 11, 26) + timedelta(day=1) #=> date(2011, 11, 1)しかし月末を算出する直接の方法がtimedeltaにない。 dateutilのrelativedelt
はじめに APIでスタンダードな日付形式であるISO8601について、Pythonで扱うのに軽くはまったのでメモ。 ISO8601形式は様々な書き方ができますが、有名どころのAPIでは以下の2種類が多いと思います。 UTC 2016-12-31T20:02:05.123456Z APIのパラメータやサービスで設定したタイムゾーン 2016-12-31T20:02:05.123456+0900 文字列 -> datetime APIからJsonで戻ってきた文字列をPythonのdatetimeに変換します。常にJSTで統一しています。 datetimeはそのまま、>, < での比較ができ、timedeltaによる日付の計算ができるため、プログラム内では常にdatetimeで表現するのがよいかと思います。 def iso_to_jstdt(iso_str): dt = None try: dt
Pythonで日時を扱うライブラリーについて、逆引き風にまとめてみました。 この記事の内容は、正確を期するように注意して記述していますが、公式の情報ではありません。 正確な情報をお求めなら公式リファレンス(参考資料#1)を参照してください。 想定する読者 ほとんどが標準モジュールについてのことですので、Python初心者の方か、日時ライブラリーのことをあまりご存じない方向けです。 (私自身まだPython歴が浅いので。) 前提 Python2はv2.7.10、Python3はv3.5.1で確認しています。 (Anaconda 4.0.0 Windows 64bit版を使用。) Python2とPython3を特に個別に扱っていないものは、共通で使えるものです。 その場合、printについてはカッコつき表記で統一し、実行結果はPython3のものを採用しています。 サンプルコードは、主に対話
Python におけるタイムゾーンの取り扱いについて、正確に書こうとするとなかなか難しいので、今回やったことだけシンプルに書きたいと思います。 Python でタイムゾーンを扱うのは難しい。標準ライブラリには tzinfo というタイムゾーンを表すための抽象クラスが用意されているだけなので、それを継承して自前でタイムゾーン用のクラスを定義する必要がある。例えばこんな感じだ。 from datetime import timedelta, tzinfo class JST(tzinfo): def utcoffset(self, dt): return timedelta(hours=9) def dst(self, dt): return timedelta(0) def tzname(self, dt): return 'JST' 現在の日時を日本標準時(JST)で取得したい場合は、これ
Python の datetime オブジェクトと Unix 時間 (Unix time / Epoch time) を相互変換する方法についてまとめます. Python の datetime オブジェクトにはタイムゾーン情報が付いているもの (aware) と付いていないもの (naive) があるので注意が必要です. Unix 時間 (Unix time) は UTC での 1970/1/1 00:00:00 からの経過秒数で表されます. 多くのシステムでは閏秒の存在を考慮しない実装となっているようで, この場合 Unix time と UTC, JST の対応は以下のようになります. Unix time UTC JST (UTC+9) “naive” と “aware” Python の datetime オブジェクトには “naive” と “aware” の2種類のオブジェクトが
datetime モジュールは Python の標準ライブラリの中でも、使用頻度が高い割に罠が多かったり使い方が難しかったりする、あまりイケてないモジュールだと個人的に思っています。 そんな datetime モジュールですが、 Python 2 のプロジェクトを Python 3 に移行した時に大分コードを整理できてちょっと感動したので紹介しておきます。 unixtime との相互変換 unixtime から datetime.datetime への変換は、 ローカルタイムなら.fromtimestamp() で、 UTC なら .utcfromtimestamp() 関数で行います。 >>> import time >>> from datetime import datetime >>> now = time.time() >>> now 1415542873.099776 >>>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く