7

Pythonでmysqlタイムスタンプをエポックタイムに変換します-これを行う簡単な方法はありますか?

4

4 に答える 4

28

MySQL に大変な作業を任せてみませんか?

select unix_timestamp(fieldname) from tablename;
于 2008-09-22T16:26:51.337 に答える
9

mysql 時間をエポックに変換する:

>>> import time
>>> import calendar
>>> mysql_time = "2010-01-02 03:04:05"
>>> mysql_time_struct = time.strptime(mysql_time, '%Y-%m-%d %H:%M:%S')
>>> print mysql_time_struct
(2010, 1, 2, 3, 4, 5, 5, 2, -1)
>>> mysql_time_epoch = calendar.timegm(mysql_time_struct)
>>> print mysql_time_epoch
1262401445

エポックを MySQL が使用できるものに変換します。

>>> import time
>>> time_epoch = time.time()
>>> print time_epoch
1268121070.7
>>> time_struct = time.gmtime(time_epoch)
>>> print time_struct
(2010, 3, 9, 7, 51, 10, 1, 68, 0)
>>> time_formatted = time.strftime('%Y-%m-%d %H:%M:%S', time_struct)
>>> print time_formatted
2010-03-09 07:51:10
于 2010-03-09T07:51:59.440 に答える
5

何らかの理由で MySQL に作業を行わせたくない場合は、Python で簡単に行うことができます。MySQLdb から datetime 列を取得すると、Python の datetime.datetime オブジェクトが取得されます。これらのいずれかを変換するには、time.mktime を使用できます。例えば:

import time
# Connecting to database skipped (also closing connection later)
c.execute("SELECT my_datetime_field FROM my_table")
d = c.fetchone()[0]
print time.mktime(d.timetuple())
于 2008-09-22T23:34:51.870 に答える
1

次のようなものを使用して、MySQL の日付 (現地時間) からエポック (UTC) からの秒数を取得します。

calendar.timegm(
   time.gmtime(
      time.mktime(
         time.strptime(t, 
                       "%Y-%m-%d %H:%M:%S"))))

この質問の詳細: How do I convert local time to UTC in Python?

于 2008-09-24T08:30:00.437 に答える