2012-11-22 20 views

risposta

20

Si dovrebbe essere in grado di convertire da UTC per il fuso orario locale in primo luogo utilizzando CONVERT_TZ:

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

Vedi anche: 10.6. MySQL Server Time Zone Support

1

È possibile ottenere un timestamp di UNIX in MySQL da un valore UTC datetime come così:

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

ho fatto un bigino qui: Should MySQL have its timezone set to UTC?

3

Questo funziona bene per me:

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

Ecco un paio di altri modi di farlo:

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

SELECT UNIX_TIMESTAMP(myDate)-TIMESTAMPDIFF(SECOND, NOW(), UTC_TIMESTAMP()) 
FROM myTable