Czym jest znacznik czasu (Unix timestamp)?
To metoda reprezentacji czasu w sekundach, obliczana od 1 stycznia 1970 roku w czasie Uniwersalnym Koordynowanym (UTC).
Znacznik czasu Unix (Unix timestamp), zwany również czasem Unix (Unix time) lub czasem POSIX (POSIX time), jest powszechnie używany do rejestrowania czasu zdarzeń, obliczania odstępów czasu oraz śledzenia i sortowania czasu w różnych aplikacjach. Ponieważ znacznik czasu Unix jest wyrażany w sekundach, jest spójny na całym świecie i nie zależy od stref czasowych ani lokalizacji geograficznej. Na przykład, jeśli potrzebujesz rejestrować czasy zdarzeń zarówno w Stanach Zjednoczonych, jak i w Chinach, możesz zapewnić spójność znaczników czasu Unix. Aby uzyskać więcej informacji, zajrzyj na Bazę wiedzy Narrative - Czym jest czas Unix?
Sposoby uzyskiwania obecnego znacznika czasu Unix w różnych językach:
Java | time |
JavaScript | Math.round(new Date().getTime()/1000) |
Microsoft .NET / C# | epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000 |
MySQL | SELECT unix_timestamp(now()) |
Perl | time |
PHP | time() |
PostgreSQL | SELECT extract(epoch FROM now()) |
Python | import time + time.time() |
Ruby | Time.now、Time.new、Time.now.to_i |
Go | import time + int32(time.Now().Unix()) |
SQL Server | SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE()) |
Unix / Linux | date +%s |
VBScript / ASP | DateDiff("s", "01/01/1970 00:00:00", Now()) |
Sposoby konwersji znacznika czasu Unix na czas standardowy w różnych językach:
Java | String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(Unix timestamp * 1000)) |
JavaScript | var unixTimestamp = new Date(Unix timestamp * 1000) + commonTime = unixTimestamp.toLocaleString() |
Linux | date -d @Unix timestamp |
MySQL | from_unixtime(Unix timestamp) |
Perl | my $time = Unix timestamp + my ($sec, $min, $hour, $day, $month, $year) = (localtime($time))[0,1,2,3,4,5,6] |
PHP | date('r', Unix timestamp) |
PostgreSQL | SELECT TIMESTAMP WITH TIME ZONE 'epoch' + Unix timestamp) * INTERVAL '1 second'; |
Python | import time + time.gmtime(Unix timestamp) |
Ruby | Time.at(Unix timestamp) |
SQL Server | DATEADD(s, Unix timestamp, '1970-01-01 00:00:00') |
VBScript / ASP | DateAdd("s", Unix timestamp, "01/01/1970 00:00:00") |
Sposoby konwersji czasu standardowego na znacznik czasu Unix w różnych językach:
Java | long epoch = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("01/01/1970 01:00:00"); |
JavaScript | var commonTime = new Date(Date.UTC(year, month - 1, day, hour, minute, second)) |
MySQL | SELECT unix_timestamp(time) |
Perl | use Time::Local + my $time = timelocal($sec, $min, $hour, $day, $month, $year); |
PHP | mktime(hour, minute, second, month, day, year) |
PostgreSQL | SELECT extract(epoch FROM date('YYYY-MM-DD HH:MM:SS')); |
Python | import time + int(time.mktime(time.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S'))) |
Ruby | Time.local(year, month, day, hour, minute, second) |
SQL Server | SELECT DATEDIFF(s, '1970-01-01 00:00:00', time) |
Unix / Linux | date +%s -d"Jan 1, 1970 00:00:01" |
VBScript / ASP | DateDiff("s", "01/01/1970 00:00:00", time) |