Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment convertir de date en unix_timestamp en utilisant javascript

Si vous fournissez un horodatage UTC et souhaitez des secondes depuis le 01/01/1970, alors :

[...]

Modifier

J'ai revisité ma réponse d'origine et je ne l'ai pas aimée, ce qui suit est mieux :

// Given an ISO8601 UTC timestamp, or one formatted per the OP,
// return the time in seconds since 1970-01-01T00:00:00Z
function toSecondsSinceEpoch(s) {
  s = s.split(/[-A-Z :\.]/i);
  var d = new Date(Date.UTC(s[0], --s[1], s[2], s[3], s[4], s[5]));
  return Math.round(d.getTime()/1000);
}

Notez que la chaîne dans l'OP n'est pas conforme à la norme ISO8601, mais ce qui précède fonctionnera avec elle. Si l'horodatage est dans le fuseau horaire local, alors :

// Given an ISO8601 timestamp in the local timezone, or one formatted per the OP,
// return the time in seconds since 1970-01-01T00:00:00Z
function toSecondsSinceEpochLocal(s) {
  s = s.split(/[-A-Z :\.]/i);
  var d = new Date(s[0],--s[1],s[2],s[3],s[4],s[5]);
  return Math.round(d.getTime()/1000);
}

Si les secondes décimales doivent être acceptées, un peu plus d'effort est nécessaire pour convertir la partie décimale en ms.