sql >> Databáze >  >> RDS >> Mysql

Jak převést z data na unix_timestamp pomocí javascriptu

Pokud dodáváte časové razítko UTC a chcete sekundy od 1. 1. 1970, pak:

[...]

Upravit

Znovu jsem se podíval na svou původní odpověď a nelíbilo se mi, následující je lepší:

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

Všimněte si, že řetězec v OP není kompatibilní s ISO8601, ale výše uvedené s ním bude fungovat. Pokud je časové razítko v místním časovém pásmu, pak:

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

Pokud je třeba počítat s desetinnými sekundami, je potřeba trochu více úsilí k převodu desetinné části na ms.



  1. Převeďte Raw SQL Query na Laravel Eloquent

  2. Jak nainstalovat MariaDB na CentOS 8

  3. PG::ForeignKeyViolation:ERROR:aktualizace nebo odstranění v tabulce xxx porušuje omezení cizího klíče

  4. java.lang.ArithmeticException při pokusu o připojení v Oracle 11.2.0.2.0 (64 bitů)