Regex untuk tanggal dan waktu ISO 8601

Gunakan /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/ untuk memeriksa apakah seluruh string adalah tanggal dan waktu ISO 8601 yang valid. Setiap contoh di bawah sudah diuji dengan pola ini, dan kamu bisa membukanya di Regex Tester dengan contoh yang sudah dimuat.

Diperbarui

/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/
Buka di Regex Tester
InputHasil
2026-10-30T14:30:00Z✓ Cocok
2026-10-30T14:30:00.123+05:30✓ Cocok
2026-10-30T14:30Z✓ Cocok
2026-10-30 14:30:00✗ Tidak cocok
2026-10-30T14:30:00✗ Tidak cocok
2026-10-30T14:30:00+0530✗ Tidak cocok

Cara kerja pola

BagianArti
\d{4}-\d{2}-\d{2}Tanggalnya
TPemisah huruf T
\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?Jam dan menit, serta detik dan pecahan yang bersifat opsional
(?:Z|[+-]\d{2}:\d{2})Z untuk UTC, atau offset seperti +05:30

Contoh kode

JavaScript

const re = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})', value))

PHP

preg_match('/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/', $value) === 1;

Catatan dan batasan

Ini mewajibkan adanya zona waktu, sehingga timestamp yang ambigu bisa dihindari. new Date().toISOString() di JavaScript selalu menghasilkan string yang cocok. Konversi timestamp dengan Unix Timestamp Converter.

Pertanyaan yang sering diajukan

Apa regex untuk tanggal dan waktu ISO 8601?
/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/ — pola ini mencocokkan seluruh string. Lihat tabel di atas untuk tahu fungsi tiap bagiannya.
Contoh mana yang cocok?
Dari contoh yang diuji, yang cocok adalah: 2026-10-30T14:30:00Z, 2026-10-30T14:30:00.123+05:30, 2026-10-30T14:30Z. Yang lain tidak cocok.
Bagaimana cara menguji regex ini?
Klik “Buka di Regex Tester” — pola, flag, dan teks contoh akan dimuat otomatis, dan kecocokan akan disorot saat kamu mengedit.