Come posso ottenere il numero totale di secondi dal '1970-01-01 00:00:01'
da un'istanza DateTime in MySQL?Come convertire DateTime in un numero in MySQL?
10
A
risposta
22
Siete alla ricerca di UNIX_TIMESTAMP()
.
See: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_unix-timestamp
Se UNIX_TIMESTAMP() viene chiamato con un argomento data, restituisce il valore dell'argomento come secondi dal '1970-01-01 00:00:00' UTC.
4
2
SELEZIONA DATE_FORMAT (value
, '% Y% m% d') AS date_ymd
FROM table_name
;
2
UNIX_TIMESTAMP(datetime)
forza una localizzazione del datetime, che a differenza del timestamp, viene memorizzata "così com'è".
È necessario realtà qualsiasi dei seguenti, per scartare la correzione UTC:
UNIX_TIMESTAMP(CONVERT_TZ(datetime, '+00:00', @@session.time_zone))
o:
TIMESTAMPDIFF(SECOND,'1970-01-01 00:00:00',datetime)
Questo converte un Datetime, che in generale Al non è necessario essere UTC. Se è necessario convertire un Datetime locale, questa risposta deve essere modificata. Controlla la mia risposta. – hyprfrcb