Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como converter de data para unix_timestamp usando javascript


Se você estiver fornecendo um carimbo de data/hora UTC e quiser segundos desde 1/1/1970, então:

[...]

Editar


Revisitei minha resposta original e não gostei, o seguinte é melhor:
// 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);
}

Observe que a string no OP não é compatível com ISO8601, mas o acima funcionará com ela. Se o carimbo de data/hora estiver no fuso horário local, então:
// 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);
}

Se os segundos decimais devem ser acomodados, é necessário um pouco mais de esforço para converter a parte decimal em ms.