2012-11-22 57 views

Trả lời

20

Bạn sẽ có thể chuyển đổi nó từ UTC sang múi giờ địa phương đầu tiên sử dụng CONVERT_TZ:

UNIX_TIMESTAMP(CONVERT_TZ(some_date, '+00:00', @@global.time_zone)) 

Xem thêm: 10.6. MySQL Server Time Zone Support

1

Bạn có thể nhận được một dấu thời gian UNIX trong MySQL từ một giá trị tính theo giờ UTC datetime như vậy:

SELECT 
UNIX_TIMESTAMP(CONVERT_TZ("some_date", '+00:00', @@session.time_zone)) 
FROM `table_name` 

tôi đã thực hiện một cheatsheet đây: Should MySQL have its timezone set to UTC?

3

này hoạt động tốt đối với tôi:

UNIX_TIMESTAMP(CONVERT_TZ("some_date", '+00:00', 'SYSTEM')) 
0

Dưới đây là một vài cách khác để làm việc đó:

SELECT UNIX_TIMESTAMP(myDate)+UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(UTC_TIMESTAMP()) 
FROM myTable 

SELECT UNIX_TIMESTAMP(myDate)-TIMESTAMPDIFF(SECOND, NOW(), UTC_TIMESTAMP()) 
FROM myTable 
Các vấn đề liên quan