Postingan lainnya
Tanggal terakhir pada bulan Februari tidak dapat ditampilkan
Saya memiliki parameter yang berbentuk tanggal untuk menampilkan tanggal mundur pada bulan sebelumnya, berikut penjelasannya.
param = 31 Maret 2025 Kemudian berdasarkan param tersebut saya mundurkan 1 bulan (tanggal terakhir pada bulan sebelumnya, yaitu : 28 Februari 2025). Adapun potongan baris perintahnya sebagai berikut : Alert::success('Testing', Carbon\Carbon::parse('2025-03-31')->subMonth()->endOfMonth()->formatLocalized('%Y-%m-%d'));
Kendalanya tanggal yang muncul adalah tanggal param, harusnya 2025-02-28.
Pada percobaan lainnya, misalnya :
- 31 Januari 2025 maka akan tampil 31 Desember 2024
- 28 Februari 2025 maka akan tampil 31 Januari 2025.
saya sudah mencoba pada bulan lainnya, yaitu : April sd Desember 2025. jawabannya tetap benar, yaitu : mundur 1 bulan dari parameter yang kita masukkan dan kesalahannya hanya ketika dimundurkan ke bulan februari.
Mohon bantuannya kepada teman-teman barangkali ada pernah ketemu permasalahan ini, terima kasih.
Tanggapan
SOLVED
sedikit saya modifikasi pada baris perintah carbonnya : dari : Carbon\Carbon::parse('2025-03-31')->subMonth()->endOfMonth()->formatLocalized('%Y-%m-%d');
diubah menjadi : Carbon::parse($getperiode)->subMonthNoOverflow()->endOfMonth()->rawFormat('Y-m-d');
1 Jawaban:
Bisa dijelaskan maksudnya "Kendalanya tanggal yang muncul adalah tanggal param, harusnya 2025-02-28." Maksudnya tanggal param di sini?
Mungkin perhitungannya adalah tanggal akhir dari bulan Februari, yaitu 28 Februari.
Tanggapan
maksudnya adalah ketika inputan kita adalah 2025-03-31 harusnya ketika dimundurkan menggunakan kode di atas adalah 2025-02-28, namun pada kasus ini itu tidak berjalan. Justru yang muncul sebagai hasil adalah 2025-03-31 (inputan itu sendiri).
Ketika diuji coba pada akhir bulan yang lain, misalnya :
- 31 Januari 2025 maka akan tampil 31 Desember 2024
- 28 Februari 2025 maka akan tampil 31 Januari 2025. disini berjalan dengan baik.
Saya berasumsi apakah karena pada bulan februari adalah tidak genap 30/31 hari?