0

日付フィールドを変換したい (PostgreSQL 文字列から取得)

"2009-02-13 15:31:30.123000" 

のような UNIX タイムスタンプに

1234567890.123

精度はミリ秒レベルです。これどうやってするの?

4

2 に答える 2

1

datetime.datetime.strptime(some_datetime_string, '%Y-%m-%d %H:%M:%S.%f') を使用して日時文字列を解析できます。

そして、この回答Python Create unix timestamp five minutes in futureを使用して、datetime.datetime を unix タイムスタンプに変換します。

于 2013-03-20T08:12:52.003 に答える
1

まず、datetimeオブジェクトに変換します。

>>> import datetime
>>> date = datetime.datetime.strptime("2009-02-13 15:31:30.123000", 
...                                   "%Y-%m-%d %H:%M:%S.%f")
>>> date
datetime.datetime(2009, 2, 13, 15, 31, 30, 123000)

次に、タイムスタンプに変換します。

>>> import time
>>> t = time.mktime(date.timetuple())
>>> t
1234535490.0

ここで、マイクロ秒を追加します。

>>> t += date.microsecond/1000000.0
>>> t
1234535490.123

または、ミリ秒未満のものを破棄する場合:

>>> t += int(date.microsecond/1000)/1000.0

(int()変換は Python 2 では必要ありませんが、Python 3 との互換性のために残されています)。

于 2013-03-20T08:19:15.623 に答える