Unix Timestamp Dijelaskan

Memahami Epoch Time

Pelajari Tentang Timestamp

Unix timestamp seperti "1704067200" berarti 1 Januari 2024 tengah malam UTC. Angka sederhana ini—detik sejak 1 Januari 1970—adalah cara komputer secara universal merepresentasikan waktu. Memahami Unix timestamp sangat penting untuk pemrograman, database, dan bekerja dengan API.

Mengapa 1970?

Sistem operasi Unix dikembangkan pada akhir 1960-an di Bell Labs. Ketika para perancang membutuhkan titik awal sembarang untuk penunjuk waktu:

  • 1 Januari 1970 dipilih sebagai angka bulat yang dekat dengan penciptaan sistem
  • Ini memungkinkan integer 32-bit mencakup tanggal jauh ke masa depan
  • Dimulai pada tengah malam UTC membuatnya sederhana dan universal

"Epoch" ini menjadi standar de facto di seluruh komputasi.

Mengonversi Timestamp

Timestamp ke Tanggal

TimestampDapat Dibaca Manusia (UTC)
01 Januari 1970 00:00:00
864002 Januari 1970 00:00:00
10000000009 September 2001 01:46:40
123456789013 Februari 2009 23:31:30
17040672001 Januari 2024 00:00:00
200000000018 Mei 2033 03:33:20
214748364719 Januari 2038 03:14:07 (batas 32-bit)

Interval Waktu Berguna

PeriodeDetik
1 menit60
1 jam3.600
1 hari86.400
1 minggu604.800
1 tahun (kira-kira)31.536.000

Timestamp Milidetik

Banyak sistem menggunakan milidetik alih-alih detik:

FormatContoh (momen yang sama)Digunakan Oleh
Detik1704067200Unix, PHP, Python
Milidetik1704067200000JavaScript, Java, JSON API
Mikrodetik1704067200000000Beberapa database
Nanodetik1704067200000000000Go, beberapa sistem

Untuk mengonversi: Milidetik ÷ 1000 = Detik

Bekerja dengan Timestamp dalam Kode

JavaScript

// Timestamp saat ini (milidetik)
Date.now(); // 1704067200000

// Timestamp ke tanggal
new Date(1704067200 * 1000);

// Tanggal ke timestamp
Math.floor(new Date('2024-01-01').getTime() / 1000);

Python

import time, datetime

# Timestamp saat ini
time.time()  # 1704067200.0

# Timestamp ke datetime
datetime.datetime.fromtimestamp(1704067200)

# Datetime ke timestamp
datetime.datetime(2024, 1, 1).timestamp()

SQL

-- MySQL: Timestamp saat ini
SELECT UNIX_TIMESTAMP();

-- Konversi timestamp ke tanggal
SELECT FROM_UNIXTIME(1704067200);

-- Tanggal ke timestamp
SELECT UNIX_TIMESTAMP('2024-01-01');

Keunggulan Unix Timestamp

  • Netral zona waktu: Selalu UTC, tanpa masalah DST
  • Aritmatika mudah: Tambah/kurangi detik untuk matematika waktu
  • Penyimpanan ringkas: Integer tunggal vs string terformat
  • Pengurutan: Pengurutan numerik alami sama dengan pengurutan kronologis
  • Universal: Bekerja lintas bahasa dan sistem

Kapan Menggunakan Timestamp vs Tanggal Terformat

  • Timestamp: Penyimpanan, perhitungan, API, database
  • Tanggal terformat: Tampilan pengguna, laporan, log

Kesimpulan

Unix timestamp menghitung detik sejak 1 Januari 1970 UTC. Sistem sederhana ini memungkinkan representasi waktu universal di seluruh komputer dan bahasa pemrograman. Ingat bahwa beberapa sistem menggunakan milidetik (13 digit) alih-alih detik (10 digit), dan bahwa sistem 32-bit menghadapi batas pada tahun 2038. Untuk penyimpanan dan perhitungan, timestamp sangat ideal; untuk tampilan, konversi ke format yang mudah dibaca manusia.

Artikel Terkait

Unix Timestamp Dijelaskan: Epoch Time untuk Developer | YounitConverter