Untuk menyatakan selisih tanggal dalam tahun, bulan, dan hari kalender, hitung bulan kalender terlebih dahulu, lalu sisa harinya. Panduan Numbers ini menggunakan tanggal publikasi sintetis dan aturan akhir bulan yang eksplisit agar Anda dapat memeriksa hasilnya.
Sebagai contoh, 18 Mei 2022 hingga 24 September 2025 menjadi 3 tahun, 4 bulan, dan 6 hari dengan metode di bawah ini. Anda akan membuat spreadsheet yang dapat digunakan kembali dan juga menangani Februari, tahun kabisat, serta tanggal seperti 31 Januari.
Tentukan arti selisih kalender
Selisih kalender memerlukan tanggal mulai dan aturan untuk menghitung bulan. Membagi jumlah hari yang berlalu dengan 365 lalu dengan 30 tidak dapat mempertahankan batas kalender: panjang bulan dan tahun berbeda-beda. Dokumentasi API tanggal TC39 menjelaskan perbedaan ini secara eksplisit saat menerangkan alasan selisih tanggal secara default dinyatakan dalam hari, kecuali jika diminta satuan yang lebih besar. Dokumentasi Temporal.PlainDate.
Panduan ini menggunakan konvensi berikut untuk tanggal Gregorian modern:
- Hitung maju dari tanggal yang lebih awal ke tanggal yang lebih akhir.
- Cari selisih bulan bulat terbesar yang titik acuannya pada kalender tidak melewati tanggal akhir.
- Pertahankan nomor hari tanggal mulai jika hari tersebut ada di bulan tujuan; jika tidak, gunakan hari terakhir bulan itu.
- Nyatakan setiap 12 bulan sebagai satu tahun, lalu hitung hari dari titik acuan hingga tanggal akhir.
Dengan konvensi ini, 31 Januari hingga 28 Februari 2025 adalah satu bulan. 31 Januari hingga 30 Maret 2025 adalah satu bulan dan 30 hari: titik acuan dua bulan adalah 31 Maret, yang melewati tanggal akhir. Ini adalah konsekuensi dari aturan yang dipilih, bukan definisi universal tentang satu bulan.
Gunakan penghitungan tanggal yang berlalu, bukan penghitungan yang memasukkan kedua tanggal batas sebagai hari yang dihitung. Karena itu, tanggal yang sama menghasilkan nol tahun, nol bulan, dan nol hari. Jika tugas Anda adalah menghitung jumlah entri kalender bertanggal yang tercakup dalam suatu rentang, perhitungannya berbeda.
Pisahkan tanggal sipil dari cap waktu
Tanggal publikasi seperti 2025-09-24 adalah tanggal sipil: tahun, bulan, dan hari dalam sebuah kalender. Tanggal itu tidak menentukan jam atau menunjukkan suatu waktu tertentu. Cap waktu seperti 2025-09-24T00:30:00+02:00 mencakup waktu dan offset UTC numerik sehingga dapat menunjukkan suatu waktu tertentu. RFC 3339 mendefinisikan sintaks tanggal lengkap dan tanggal-waktu yang terkait. RFC 3339: Tanggal dan Waktu di Internet: Cap Waktu.
Offset seperti +02:00 menjelaskan hubungan dengan UTC. Zona bernama seperti Europe/Paris menyediakan aturan untuk mengonversi antara waktu tertentu dan waktu setempat; offset yang berlaku dapat berubah. RFC 9557 membedakan konsep-konsep ini dan menjelaskan alasan offset saja tidak menyediakan aturan yang diperlukan untuk aritmetika kalender lokal. RFC 9557: Cap Waktu dengan Informasi Tambahan.
Untuk spreadsheet ini, masukkan tanggal publikasi yang dimaksud secara langsung. Jika sumber Anda berisi cap waktu, tentukan terlebih dahulu zona bernama yang menetapkan hari publikasi, lalu konversikan kedua cap waktu ke tanggal dalam zona tersebut. Sebagai ilustrasi, 2025-09-24T00:30:00+02:00 adalah waktu yang sama dengan 2025-09-23T22:30:00Z; memilih tanggal yang ditampilkan sebelum menentukan zona acuan dapat mengubah masukan satu hari.
Buat lembar kerja selisih tanggal di Numbers
Anda memerlukan Numbers di Mac dan tabel dengan kolom A hingga J serta setidaknya dua baris. Gunakan baris 1 untuk label dan baris 2 untuk perhitungan. Rumus di bawah menggunakan nama fungsi bahasa Inggris dan pemisah koma.
Untuk memasukkan setiap rumus, pilih sel tujuan, ketik atau tempel rumus yang diawali =, lalu tekan Return. Apple menjelaskan bahwa mengetik tanda sama dengan akan membuka Editor Rumus, dan bantuan fungsi tersedia di Browser Fungsi. Menghitung nilai menggunakan data dalam sel tabel di Numbers di Mac.
Masukkan tanggal mulai dan akhir yang tidak ambigu
Beri label Tanggal mulai pada A1 dan Tanggal akhir pada B1. Masukkan tanggal publikasi sintetis berikut:
| Sel | Rumus | Tanggal yang dimaksud |
|---|---|---|
A2 |
=DATE(2022,5,18) |
18 Mei 2022 |
B2 |
=DATE(2025,9,24) |
24 September 2025 |
Penggunaan DATE(year,month,day) menghindari ambiguitas antara penafsiran string tanggal berdasarkan wilayah yang berbeda. Apple secara khusus merekomendasikan fungsi ini agar penafsiran tanggal konsisten di berbagai pengaturan wilayah. Masukkan tanggal kalender yang valid, termasuk jumlah hari yang tepat dalam setiap bulan. DATE.
Sebelum melanjutkan, pastikan tanggal akhir sama dengan atau lebih akhir daripada tanggal mulai. Lembar kerja ini sengaja menghitung selisih maju; lembar ini tidak menetapkan periode kalender negatif.
Temukan titik acuan kalender terakhir sebelum tanggal akhir
Masukkan label dan rumus berikut di baris 2, secara berurutan:
| Sel | Label baris 1 | Rumus baris 2 |
|---|---|---|
C2 |
Kandidat bulan |
=(YEAR(B2)-YEAR(A2))*12+MONTH(B2)-MONTH(A2) |
D2 |
Bulan penuh |
=C2-IF(DATE(YEAR(B2),MONTH(B2),MIN(DAY(A2),DAY(EOMONTH(B2,0))))>B2,1,0) |
E2 |
Awal bulan titik acuan |
=EDATE(DATE(YEAR(A2),MONTH(A2),1),D2) |
F2 |
Tanggal titik acuan |
=DATE(YEAR(E2),MONTH(E2),MIN(DAY(A2),DAY(EOMONTH(E2,0)))) |
Rumus pertama menghitung jarak antara posisi tahun-bulan kedua tanggal. Fungsi YEAR dan MONTH dari Apple mengekstrak komponen tersebut dari nilai tanggal. YEAR, MONTH.
Rumus kedua menguji titik acuan pada bulan tanggal akhir. Harinya adalah nilai yang lebih kecil antara hari tanggal mulai dan hari terakhir bulan tersebut. Jika kandidat ini melewati tanggal akhir, rumus mengurangi satu bulan. Penyesuaian bersyarat ini menggunakan perilaku terdokumentasi IF. IF.
Rumus-rumus berikutnya menyusun titik acuan yang sebenarnya. EDATE menggeser hari pertama bulan tanggal mulai sebesar offset yang dihitung, sehingga langkah perantara ini tidak menghasilkan hari yang tidak valid. EDATE.
Lembar kerja lalu menerapkan aturan akhir bulan secara eksplisit: DAY mengambil nomor hari, EOMONTH memberikan tanggal terakhir bulan tujuan, dan MIN memilih nomor hari yang lebih kecil. Dengan begitu, perlakuan terhadap bulan yang lebih pendek terlihat jelas dalam rumus. DAY, EOMONTH, MIN.
Nyatakan hasil dalam tahun, bulan, dan hari
Lengkapi lembar kerja dengan rumus berikut:
| Sel | Label baris 1 | Rumus baris 2 |
|---|---|---|
G2 |
Tahun |
=QUOTIENT(D2,12) |
H2 |
Bulan |
=MOD(D2,12) |
I2 |
Hari |
=DATEDIF(F2,B2,"D") |
J2 |
Selisih kalender |
=G2&" years, "&H2&" months, "&I2&" days" |
QUOTIENT memberikan hasil pembagian bilangan bulat dan MOD memberikan sisanya, sehingga jumlah bulan penuh diubah menjadi tahun dan sisa bulan. QUOTIENT, MOD.
Untuk tanggal contoh, D2 seharusnya bernilai 40 dan F2 seharusnya menunjukkan 18 September 2025. Enam hari antara titik acuan tersebut dan 24 September melengkapi hasilnya: 3 tahun, 4 bulan, 6 hari. Rumus teks menggunakan label jamak tetap demi kesederhanaan; kolom numerik terpisah tetap tersedia untuk perhitungan lain.
Periksa akhir bulan dan tahun kabisat
Gunakan pasangan tanggal sintetis ini untuk memeriksa konvensi lembar kerja. Ganti hanya rumus di A2 dan B2, dan pertahankan rumus lainnya:
| Tanggal mulai | Tanggal akhir | Tahun, bulan, hari yang diharapkan | Tanggal titik acuan |
|---|---|---|---|
| 18 Mei 2022 | 24 September 2025 | 3, 4, 6 | 18 September 2025 |
| 31 Januari 2025 | 28 Februari 2025 | 0, 1, 0 | 28 Februari 2025 |
| 31 Januari 2024 | 29 Februari 2024 | 0, 1, 0 | 29 Februari 2024 |
| 29 Februari 2024 | 28 Februari 2025 | 1, 0, 0 | 28 Februari 2025 |
| 31 Januari 2025 | 30 Maret 2025 | 0, 1, 30 | 28 Februari 2025 |
| 24 September 2025 | 24 September 2025 | 0, 0, 0 | 24 September 2025 |
Ini adalah contoh perhitungan berdasarkan aturan yang dinyatakan. Algoritma titik acuan yang mendasarinya diperiksa dengan perhitungan Python deterministik, termasuk 10.000 pasangan tanggal yang dihasilkan; antarmuka Numbers sendiri tidak dijalankan.
Periksa hasilnya dengan menyusun ulang urutannya: ambil tanggal mulai awal, geser sebanyak total bulan dalam D2 dengan aturan akhir bulan yang dinyatakan, lalu maju sebanyak jumlah hari dalam I2. Anda seharusnya mencapai tanggal akhir. Selalu hitung titik acuan bulan dari tanggal mulai awal: jika terus menggeser satu bulan setiap kali, hari awal dapat hilang setelah Februari.
Mengapa tidak menggabungkan tiga hasil DATEDIF?
Apple mendokumentasikan opsi DATEDIF untuk tahun, bulan dengan mengabaikan tahun, serta hari dengan mengabaikan bulan dan tahun. Opsi "MD" menerapkan perhitungan nomor hari tertentu yang melibatkan bulan pengganti. Karena itu, jangan berasumsi bahwa opsi ini berarti sisa hari setelah penyesuaian akhir bulan yang Anda pilih. Lembar kerja ini hanya menggunakan "D" di antara titik acuan eksplisit dan tanggal akhir. DATEDIF.
Pemetaan operasi ke API tanggal
Untuk perangkat lunak yang menerapkan tugas ini, TC39 mendokumentasikan tipe khusus tanggal, Temporal.PlainDate, dan operasi selisih yang memperhitungkan kalender. Meminta until dengan largestUnit: 'year' menghasilkan durasi yang dinyatakan dalam tahun dan satuan yang lebih kecil; membiarkan opsi default menghasilkan selisih berbasis hari. Dokumentasinya juga menjelaskan penambahan bulan yang dibatasi dan menolak selisih antara tanggal dengan sistem kalender berbeda, kecuali tanggal tersebut dikonversi ke kalender yang sama. Dokumentasi Temporal.PlainDate.
Pilihan API tersebut menegaskan keputusan utama dalam lembar kerja: kenali masukan yang hanya berupa tanggal, pilih kalender, tentukan satuan terbesar, dan pertahankan titik acuan untuk menafsirkan bulan. Standar string tanggal menjelaskan representasi; memilih representasi saja tidak menentukan konvensi akhir bulan untuk tugas Anda.
Atasi hasil yang tidak terduga sebelum menggunakan keluaran
Jika rumus menampilkan kesalahan, pilih indikator kesalahan untuk membaca pesannya; panduan Numbers dari Apple mendokumentasikan langkah diagnosis ini. Periksa referensi sel dan gunakan Browser Fungsi untuk memasukkan argumen jika instalasi Anda mengharapkan pemisah rumus yang berbeda. Menghitung nilai menggunakan data dalam sel tabel di Numbers di Mac.
Jika perhitungannya tampak masuk akal tetapi berbeda dari alat lain, bandingkan aturan akhir bulannya dengan aturan lembar kerja ini. Periksa juga apakah alat lain menghitung kedua tanggal batas, menggunakan cap waktu alih-alih tanggal sipil, atau membulatkan hasil. Jangan masukkan tanggal terbalik dan masukan kosong ke dalam perhitungan maju ini, alih-alih mengganti kesalahan dengan nol.
Untuk perbandingan tanggal publikasi yang dapat digunakan kembali, simpan tanggal mulai, tanggal akhir, dan titik acuan di samping rumusan akhir. Ketiganya membuat hasil seperti “3 tahun, 4 bulan, 6 hari” dapat ditelusuri ke perhitungan kalender tertentu.
Sumber
- Menghitung nilai menggunakan data dalam sel tabel di Numbers di Mac — Apple.
- DATE — Apple.
- YEAR — Apple.
- MONTH — Apple.
- IF — Apple.
- EDATE — Apple.
- DAY — Apple.
- EOMONTH — Apple.
- MIN — Apple.
- QUOTIENT — Apple.
- MOD — Apple.
- DATEDIF — Apple.
- Temporal.PlainDate — Ecma TC39.
- RFC 3339: Tanggal dan Waktu di Internet: Cap Waktu — RFC Editor.
- RFC 9557: Tanggal dan Waktu di Internet: Cap Waktu dengan Informasi Tambahan — RFC Editor.