Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

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 :

  1. 31 Januari 2025 maka akan tampil 31 Desember 2024
  2. 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.

avatar jungulo
@jungulo

25 Kontribusi 2 Poin

Diperbarui 13 jam yang lalu

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.

avatar hilmanski
@hilmanski

2700 Kontribusi 2140 Poin

Dipost 13 jam yang lalu

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 :

  1. 31 Januari 2025 maka akan tampil 31 Desember 2024
  2. 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?

Login untuk ikut Jawaban