Konverter Timestamp Unix
Alat konversi dua arah antara timestamp Unix/Linux dan tanggal-waktu, dengan perbandingan berdasarkan beberapa zona waktu.
Waktu saat ini
Konversi timestamp ke tanggal
Hasil Konversi(otomatis)
Konversi tanggal ke timestamp
Hasil Konversi(otomatis)
Alat konversi tanggal waktu untuk multi - timestamp
Alat konversi tanggal waktu untuk multi - timestamp
Alat konversi timestamp untuk multi - tanggal
Alat konversi timestamp untuk multi - tanggal
Petunjuk penggunaan
Alat ini digunakan untuk melakukan konversi dua arah antara stempel waktu Unix dan tanggal waktu secara cepat dalam berbagai skenario. Mendukung presisi detik dan milidetik, dan Anda dapat memilih zona waktu tujuan untuk perbandingan tampilan. Tersedia konverter satu kartu dan multi kartu. Konversi akan dilakukan segera setelah Anda memasukkan data, dan hasil akan diperbarui otomatis saat Anda beralih zona waktu. Selain itu, terdapat rentang waktu terbaru dan rentang waktu umum yang sudah terintegrasi, sehingga memenuhi kebutuhan pengembangan, debugging, dan konversi sehari - hari.
Fitur dan karakteristik alat
- Konversi segera setelah input, mendukung deteksi otomatis stempel waktu detik/milidetik
- Mendukung pilihan dan tampilan zona waktu global: tiga tampilan yaitu lokal, UTC, dan zona waktu terpilih
- Multi kartu konverter, memudahkan untuk perbandingan massal
- Antarmuka responsif dan ramah keyboard, aksesibilitas yang baik
- Rentang waktu terbaru dan rentang waktu umum sudah terintegrasi, bisa disalin dan digunakan langsung
Apa itu timestamp?
Stempel waktu Unix (Unix Timestamp) adalah jumlah total detik atau milidetik yang telah berlalu sejak 1970 - 01 - 01 00:00:00 UTC (Unix Epoch).
Stempel waktu adalah angka yang mewakili waktu, biasanya dalam satuan detik atau milidetik.
Titik awal stempel waktu adalah 00:00:00 UTC, 1 Januari 1970, dan waktu ini disebut Epoch Unix.
Stempel waktu awalnya digunakan dalam sistem operasi Unix, sehingga sering disebut sebagai stempel waktu Unix.
Stempel waktu banyak digunakan dalam pemrograman dan komunikasi jaringan, terutama dalam pengembangan Web.
Presisi umum: detik (seperti 1735689600) dan milidetik (seperti 1735689600000). Saat menyajikan tanggal waktu terkait zona waktu, perlu diformat sesuai dengan zona waktu.
Timestamp umum (durasi)
Masalah 2038 pada timestamp
Masalah tahun 2038 mengacu pada masalah ketika penyimpanan stempel waktu Unix (dalam satuan detik, dihitung sejak 00:00:00 UTC, 1 Januari 1970) menggunakan bilangan bulat bertanda 32-bit mengalami overflow setelah tanggal 03:14:07 UTC, 19 Januari 2038.
Karena rentang bilangan bulat bertanda 32-bit adalah dari -2.147.483.648 hingga 2.147.483.647, dan stempel waktu untuk 03:14:07 UTC, 19 Januari 2038 adalah 2.147.483.647, maka setelah titik waktu tersebut, bilangan bulat bertanda 32-bit tidak akan dapat mewakili stempel waktu selanjutnya.
Yang terkena dampak kebanyakan adalah sistem lama atau perangkat lunak yang menggunakan time_t 32-bit. Sistem modern biasanya menggunakan 64-bit (seperti bilangan bulat 64-bit dalam satuan milidetik), sehingga tidak ada masalah ini.
Disarankan untuk menggunakan stempel waktu 64-bit atau menggunakan pustaka waktu yang mendukung rentang tanggal yang lebih besar.
Cara mendapatkan/mengonversi timestamp melalui bahasa pemrograman
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');