Meilleure façon d'obtenir le timestamp unix de l'heure UTC actuelle dans MySQL
J'ai essayé d'utiliser les éléments suivants dans mySQL pour créer un unix timbre de l'heure UTC actuelle
UNIX_TIMESTAMP(UTC_TIMESTAMP())
Lorsque j'exécute la requête et obtenir le résultat, il semble que mySQL est en train de faire UTC conversation deux fois.
Eg. local time 9:07PM
Requête ci-dessus est retourné:
1374390482
, qui est à côté de la journée 07:08:02 GMT
, ce qui est correct,
Cependant, UNIX_TIMESTAMP(LOCALTIMESTAMP())
retourne:
1374372551 02:09:11 GMT
qui est le bon UTC timestamp unix.
Donc UNIX_TIMESTAMP
traduit automatiquement l'objet date du fuseau horaire UTC (peu importe si c'est déjà l'heure UTC ou pas?)
Est-il une meilleure façon ou d'une seule commande juste pour obtenir un UTC unix timestamp mySQL?
Vous devez vous connecter pour publier un commentaire.
Essayez juste d':
Et à voir ici: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp
0
). Mais le temps Unix lui-même n'est pas l'UTC, il transcende la notion de fuseau horaire lui-même. Peu importe le fuseau horaire que vous êtes, le temps Unix courant est exactement la même chose pour vous, quelqu'un sur un autre fuseau horaire, et l'univers tout entier.UNIX_TIMESTAMP(), UNIX_TIMESTAMP(UTC_TIMESTAMP())
1515663090, 1515691890
0
à'1970-01-01 00:00:00' UTC
. Si vous trouvez quelque chose à l'effet contraire, c'est une erronée buggy mise en œuvre dans le logiciel ou peut-être une erreur dans la requête.UTC_TIMESTAMP()
ne pas avoir un horodatage attaché, donc, lorsque MySQL, il reçoit comme entrée pourUNIX_TIMESTAMP(input)
, il interprète la saisie dans la base de données MySQL du fuseau horaire, en lui donnant le timestamp Unix pour cette mauvaise interprétation.UNIX_TIMESTAMP()
lorsque la requête est exécutée dans le seconde laps de temps. Je pense que si le timestamp Unix, avait une notion de fuseau horaire, il serait de retour des valeurs différentes pour les différents fuseaux horaires. Mais ce n'est pas le cas.unix_timestamp()
fonction est en effet libre de tout TZ idée, mais unix_timestamp() avec l'argument DATE (par exemple,unix_timestamp('2018-01-26 08:58:00')
) s'interpréter à la DATE de son local time_zone et va donc dépendre de TZ configuration du serveur.