Unix-tijdstempelconversiegereedschap
Tweewegconversiegereedschap voor Unix/Linux-tijdstempels en datum/tijd, met ondersteuning voor conversie en vergelijking via meerdere tijdszones.
Huidige tijd
Tijdstempel naar datum
Conversieresultaat(automatisch)
Datum naar tijdstempel
Conversieresultaat(automatisch)
Converter voor meerdere tijdstempel-datum-tijden
Converter voor meerdere tijdstempel-datum-tijden
Converter voor meerdere datum-tijdstempels
Converter voor meerdere datum-tijdstempels
Gebruiksaanwijzing
Dit hulpmiddel is ontworpen om snel bidirectionele conversies tussen Unix-timestamps en datum-tijd in verschillende scenario's uit te voeren. Het ondersteunt zowel seconden- als milliseconden-nauwkeurigheid en biedt de mogelijkheid om de doel-tijdzone te selecteren voor vergelijkende weergave. Er zijn zowel een enkele als meerdere converterkaarten beschikbaar. De conversie vindt direct plaats bij invoer, en bij het wisselen van tijdzone worden de resultaten automatisch vernieuwd. Daarnaast zijn er ingebouwde recente tijdsbereiken en veelgebruikte tijdsduur, waardoor het aan de behoeften van ontwikkeling, debugging en dagelijkse conversies voldoet.
Functiekenmerken van het hulpmiddel
- Directe conversie bij invoer, ondersteuning voor automatische herkenning van seconden-/milliseconden-timestamps
- Ondersteuning voor globale tijdzone-selectie en -weergave: drie weergaven (lokale, UTC en geselecteerde tijdzone)
- Meerdere converterkaarten, handig voor batchvergelijkingen
- Responsieve interface en toetsenbordvriendelijk, goede toegankelijkheid
- Ingebouwde recente tijdsbereiken en veelgebruikte tijdsduur, klaar om te kopiëren en te gebruiken
Wat is een tijdstempel?
Een Unix-timestamp is het totale aantal seconden of milliseconden dat is verstreken sinds 00:00:00 UTC op 1 januari 1970 (de Unix Epoch).
Een timestamp is een getal dat tijd vertegenwoordigt, meestal in seconden of milliseconden.
Het startpunt van de timestamp is 00:00:00 UTC op 1 januari 1970, en deze tijd wordt de Unix-epoche genoemd.
Timestamps werden aanvankelijk gebruikt in het Unix-besturingssysteem, vandaar dat ze vaak Unix-timestamps worden genoemd.
Timestamps worden veel gebruikt in programmeren en netwerkcommunicatie, vooral in webontwikkeling.
Veel voorkomende nauwkeurigheden zijn seconden (bijv. 1735689600) en milliseconden (bijv. 1735689600000). Bij het weergeven van datum-tijd in verband met tijdzones moet er worden geformatteerd met behulp van de juiste tijdzone.
Veelgebruikte tijdstempels (duur)
Het 2038-probleem van tijdstempels
Het jaar 2038-probleem verwijst naar het probleem waarbij een 32-bits getal met teken, dat wordt gebruikt om een Unix-tijdstempel (in seconden, vanaf 1 januari 1970 00:00:00 UTC) op te slaan, zal overlopen na 19 januari 2038 03:14:07.
Omdat het bereik van een 32-bits getal met teken ligt tussen -2.147.483.648 en 2.147.483.647, en de tijdstempel van 19 januari 2038 03:14:07 UTC gelijk is aan 2.147.483.647, kan een 32-bits getal met teken vanaf dat tijdstip geen latere tijdstempels meer representeren.
Meestal zijn oudere systemen of software die gebruikmaken van een 32-bits time_t getypeerd, hiervan getroffen. Moderne systemen gebruiken doorgaans 64 bits (bijvoorbeeld een 64-bits geheel getal in milliseconden) en hebben dit probleem niet.
Het wordt aanbevolen om 64-bits tijdstempels te gebruiken, of een tijdbibliotheek te gebruiken die grote datumbereiken ondersteunt.
Hoe tijdstempels ophalen/converteren via programmeertalen
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
import time
int(time.time()) # seconds
int(time.time() * 1000) # milliseconds
import datetime
datetime.datetime.utcfromtimestamp(1735689600).isoformat()
import datetime
int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
import "time"
time.Now().Unix() // seconds
time.Now().UnixMilli() // milliseconds
import "time"
time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
import "time"
ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
use chrono::Utc;
let now = Utc::now();
let sec = now.timestamp(); // seconds i64
let ms = now.timestamp_millis(); // milliseconds i128
use chrono::{DateTime, NaiveDateTime, Utc};
let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
.unwrap()
.and_utc();
let iso = dt.to_rfc3339();
use chrono::DateTime;
let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.timestamp();
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;
-- SQLite
SELECT strftime('%s', 'now');
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);
-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';
-- SQLite
SELECT datetime(1735689600, 'unixepoch');
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;
-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');