Chrono Mock
BahasaBahasa Indonesia

Tanggal mana yang sebaiknya Anda uji?

Separuh pengujian tanggal adalah menggeser jam. Separuh lainnya adalah mengetahui ke mana harus menggesernya. Kalkulator daring akan memberi tahu kapan sembilan puluh hari dari hari ini. Ia tidak akan memberi tahu bahwa jawabannya adalah hari libur bank, atau bahwa itu hari terakhir kuartal.

Kalkulator Chrono Mock. Daftar skenario yang dapat dicari beserta penjelasannya turun di sisi kiri, pembuat tanggal ada di tengah, dan kolom hasil di kanan mencantumkan setiap format dengan tombol salin di sampingnya serta Use this date di bawahnya. Di bawah pembuat, tanggal 04/08/2008 yang ditempelkan dilaporkan sebagai ambigu dengan pembacaan Amerika dan Polandia keduanya ditampilkan.
Di bawah pembuat ada arah sebaliknya: 04/08/2008 ditempelkan, dan kedua pembacaan ditampilkan, bukan satu yang ditebak.

Hari kerja, dengan hari libur nyata

“Sepuluh hari kerja dari sekarang” bukan aritmetika - tergantung kalender negara mana yang Anda pakai untuk menghitung. Tanggal mulai yang sama, sepuluh hari yang sama, dua jawaban berbeda:

$ chrono calc --base 2027-09-01T00:00:00 --shift +10bd --calendar us-banking
  result:  2027-09-16T00:00:00

$ chrono calc --base 2027-09-01T00:00:00 --shift +10bd --calendar pl
  result:  2027-09-15T00:00:00

Selisih satu hari, dan kalkulator akan memberi tahu mengapa jika Anda menanyakan tanggal di antaranya:

$ chrono calc --base 2027-09-06T00:00:00 --calendar us-banking
  metadata:
    weekday       Monday
    business day  no  (us-banking)
    holiday       Labor Day
  what this date lands on:
    public holiday
    (weekend and holiday marks follow the us-banking calendar)

Amerika Serikat dan Polandia disertakan sebagai kalender acuan, dipilih karena bersama-sama keduanya melatih setiap jenis aturan yang ada: tanggal tetap, hari ke-n dalam bulan, tanggal yang dihitung dari Paskah, dan aturan Amerika ketika hari libur yang jatuh pada hari Sabtu dirayakan pada hari Jumat sebelumnya. Menambahkan negara adalah file data, bukan perubahan kode.

Semua format sekaligus

Aplikasi yang diuji menginginkan tanggal dalam bentuk yang diharapkannya. Alih-alih meminta Anda mengonversi, kalkulator mencetak semuanya - dan topeng khusus untuk yang tidak cocok dengan standar apa pun.

$ chrono calc --preset year-2038 --zone +00:00
Chrono Mock - date calculator
  preset:   year-2038 - 2038 boundary
  explains: Does the app survive the 32-bit Unix time boundary (2038-01-19T03:14:07Z)?
  result:  2038-01-19T03:14:07
  formats:
    ISO date      2038-01-19
    ISO datetime  2038-01-19T03:14:07+00:00
    US            01/19/2038
    PL            19.01.2038
    epoch (s)     2147483647
    epoch (ms)    2147483647000
    FILETIME      137919572470000000
    RFC 1123      Tue, 19 Jan 2038 03:14:07 GMT
  ...
  what this date lands on:
    at or past the 2038-01-19T03:14:07Z 32-bit time_t limit (Y2038)

Nilai epoch itu bukan kebetulan - 2147483647 persis bilangan terbesar yang dapat ditampung bilangan bulat bertanda 32-bit, dan itulah seluruh alasan tanggal ini penting.

Membaca tanggal secara terbalik

Arah sebaliknya sama bergunanya: tempelkan tanggal dari log dan cari tahu apa itu. Ketika formatnya ambigu - dan 04/08 ambigu di separuh dunia - kedua pembacaan ditampilkan, bukan satu yang ditebak, karena dari tebakanlah laporan bug yang asli berasal.

$ chrono calc --analyze 04/08/2027
Chrono Mock - date analysis
  input:   04/08/2027  (ambiguous - month/day order differs by locale)
  US MM/DD/YYYY:  2027-04-08  (Thursday)
  PL DD/MM/YYYY:  2027-08-04  (Wednesday)

Terpaut empat bulan, pada hari yang berbeda dalam seminggu. Tanggal ISO tidak ambigu dan dibaca demikian, dan sesuatu yang sama sekali bukan tanggal ditolak, bukan ditebak.

Dibangun dari langkah, bukan dari kalimat

Sebuah momen adalah titik awal ditambah langkah, dan hasil antara ditampilkan setelah masing-masing, sehingga ekspresi yang menghasilkan jawaban mengejutkan menunjukkan di mana ia berbelok. Lima jenis langkah: bergeser menurut satuan, menetapkan jam dalam hari, melompat ke batas periode, pindah ke hari kerja terdekat, dan menyatakan ulang dalam zona waktu lain.

# Detik terakhir sebelum pergantian tahun
chrono calc --base today --snap eoy

# Sembilan puluh hari kerja dari sekarang, dalam kalender perbankan Amerika
chrono calc --base today --shift +90bd --calendar us-banking

# Delapan belas tahun dan sehari ke belakang, untuk pemeriksaan usia
chrono calc --base today --shift -18y --shift -1d

Tanggal hasil hitungan apa pun langsung masuk ke sesi penggantian waktu, dan --json mengeluarkan hasil yang sama dalam bentuk mesin. Tanggal yang layak diuji →

Cobalah