sql >> Base de Datos >  >> RDS >> Mysql

Cómo convertir de fecha a unix_timestamp usando javascript

Si está proporcionando una marca de tiempo UTC y quiere segundos desde el 1/1/1970, entonces:

[...]

Editar

Revisé mi respuesta original y no me gustó, lo siguiente es mejor:

// 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);
}

Tenga en cuenta que la cadena en el OP no cumple con ISO8601, pero lo anterior funcionará con ella. Si la marca de tiempo está en la zona horaria local, entonces:

// 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 se deben acomodar segundos decimales, se requiere un poco más de esfuerzo para convertir la parte decimal a ms.