sql >> Database >  >> RDS >> Mysql

Hoe te converteren van datum naar unix_timestamp met behulp van javascript

Als u een UTC-tijdstempel opgeeft en seconden wilt sinds 1/1/1970, dan:

[...]

Bewerken

Ik heb mijn oorspronkelijke antwoord opnieuw bekeken en vond het niet leuk, het volgende is beter:

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

Merk op dat de string in het OP niet ISO8601-compatibel is, maar het bovenstaande zal ermee werken. Als de tijdstempel in de lokale tijdzone staat, dan:

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

Als er rekening moet worden gehouden met decimale seconden, kost het wat meer moeite om het decimale deel om te zetten in ms.



  1. PHP - oci_connect niet gevonden

  2. Is het mogelijk om dynamisch een kolomnaam in MYSQL te selecteren waarbij de kolomnaam 1 van N bekende waarden is?

  3. MyISAM-dialect genereert verkeerde DDL

  4. Introductie van MariaDB Platform X5:de database voor elke workload, nu op elke schaal