2013-07-21 30 views
31

Tôi đã cố gắng sử dụng sau trong mySQL để tạo ra một con tem unix cho UTC hiện tại thời gianCách tốt nhất để có được unix timestamp cho thời gian tính theo giờ UTC hiện trong MySQL

UNIX_TIMESTAMP(UTC_TIMESTAMP()) 

Khi tôi thực hiện truy vấn và nhận được kết quả, có vẻ như mySQL đang thực hiện cuộc trò chuyện UTC hai lần.

Eg. local time 9:07PM 

Query trở trên: 1374390482, đó là ngày hôm sau 07:08:02 GMT, đó là chính xác,

Tuy nhiên, lợi nhuận UNIX_TIMESTAMP(LOCALTIMESTAMP()):

1374372551 02:09:11 GMT 

đó là đúng UTC unix timestamp.

Vì vậy UNIX_TIMESTAMP tự động chuyển múi giờ đối tượng ngày để UTC (không phân biệt nếu nó đã UTC hay không?)

Có cách nào tốt hơn hoặc một lệnh duy nhất chỉ để có được một dấu thời gian tính theo giờ UTC unix trong mySQL?

Trả lời

54
+0

thanks a lot, tôi chỉ cố gắng nó và tôi nghĩ rằng đó là chính xác những gì tôi cần. – littlejedi

+0

UNIX_TIMESTAMP() có trả về dấu thời gian trong múi giờ địa phương hoặc UTC không? –

+0

UTC. Từ tài liệu: "trả về dấu thời gian Unix (giây từ '1970-01-01 00:00:00' UTC) dưới dạng số nguyên không dấu" – Alden

Các vấn đề liên quan