人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

1) pythonでphpのstrtotimeのようなことがしたいのですが、方法を教えてください。
dateutil.parser.parseとかがベストプラクティスでしょうか。。。

2) pythonでdatetimeオブジェクトをunixtimeに変換する方法を教えてください

3) pythonで2つのdatetimeオブジェクトの差を秒で知りたいのですが、その方法を教えてください。


●質問者: kunitz
●カテゴリ:コンピュータ インターネット
✍キーワード:PHP Python オブジェクト プラクティス ベスト
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Surgo
●40ポイント

>>> import time

>>> import datetime

#1

>>> t = datetime.datetime.strptime("20100819", "%Y%m%d")

>>> print t

フォーマット: http://docs.python.org/library/datetime.html#strftime-strptime-b...

# 2

>>> t = datetime.datetime.now()

>>> print time.mktime(t.timetuple())

# 3

>>> t1 = datetime.datetime.now()

>>> t2 = datetime.datetime.now()

>>> delta = t2 - t1

>>> print delta.seconds


2 ● kakatofu
●40ポイント

http://www.python.jp/doc/2.5/lib/datetime-datetime.html

http://www.python.jp/doc/2.5/lib/datetime-timedelta.html

http://www.python.jp/doc/2.5/lib/module-time.html


> 1) pythonでphpのstrtotimeのようなことがしたいのですが、方法を教えてください。


datetimeのstrptimeというメソッドを使うのはどうでしょうか。


>>> import datetime

>>> dt = datetime.datetime.strptime("2010/08/19", "%Y/%m/%d")

>>> dt

datetime.datetime(2010, 8, 19, 0, 0)

>>> str(dt)

'2010-08-19 00:00:00'


> 2) pythonでdatetimeオブジェクトをunixtimeに変換する方法を教えてください


datetimeのstrftime("%s")を用いて文字列に変換し、それを整数に変換するというのはどうでしょうか。


>>> import datetime

>>> dt = datetime.datetime.now()

>>> print dt

2010-08-19 14:50:01.546977

>>> print dt.strftime("%s")

1282197001

>>> ut = int(dt.strftime("%s"))

>>> print ut

1282197001


> 3) pythonで2つのdatetimeオブジェクトの差を秒で知りたいのですが、その方法を教えてください。


datetimeオブジェクト同士で差をとり、daysを秒に変換しsecondsと足すというのはどうでしょうか。


>>> a = datetime.datetime(2010,8,19,15)

>>> b = datetime.datetime(2010,8,20,16)

>>> print b - a

1 day, 1:00:00

>>> s = b - a

>>> s.seconds

3600

>>> s.days*60*60*24

86400

>>> s.days*60*60*24 + s.seconds

90000


3 ● ask001
●0ポイント (はてなにより削除しました)
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ