2008-09-22 42 views

Trả lời

27

Tại sao không để MySQL làm việc chăm chỉ?

chọn unix_timestamp (tên trường) từ tablename;

+0

Điều này phải được đánh dấu là câu trả lời được chấp nhận. – colminator

3

Nếu bạn không muốn có MySQL làm công việc vì một lý do nào đó, thì bạn có thể làm điều này trong Python dễ dàng đủ. Khi bạn nhận được một cột datetime từ MySQLdb, bạn sẽ nhận được một đối tượng datetime.datetime Python. Để chuyển đổi một trong số này, bạn có thể sử dụng time.mktime. Ví dụ:

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()) 
1

tôi sử dụng giống như sau để có được giây kể từ khi kỷ nguyên (UTC) từ một ngày MySQL (giờ địa phương):

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

thêm thông tin trong câu hỏi này: How do I convert local time to UTC in Python?

8

chuyển đổi thời gian mysql để Epoch:

>>> 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 

chuyển đổi thời đại một cái gì đó M ySQL có thể sử dụng:

>>> 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 
Các vấn đề liên quan