Memformatkan Hari Bulan dengan Penunjuk Ordinal
Manakala SimpleDateFormat membenarkan anda memformatkan hari dalam bulan sebagai nombor (dd), ia tidak menyediakan cara untuk memasukkan penunjuk ordinal (cth., 11, 21, 23hb).
Untuk mencapai matlamat ini, anda boleh menggunakan gabungan logik dan manipulasi rentetan. Berikut ialah contoh:
import static com.google.common.base.Preconditions.*; String getDayOfMonthSuffix(final int n) { checkArgument(n >= 1 && n <= 31, "illegal day of month: " + n); if (n >= 11 && n <= 13) { return "th"; } switch (n % 10) { case 1: return "st"; case 2: return "nd"; case 3: return "rd"; default: return "th"; } }
Fungsi ini mengembalikan penunjuk ordinal yang sesuai berdasarkan hari tertentu dalam bulan tersebut. Contohnya, getDayOfMonthSuffix(11) akan mengembalikan "th".
Elakkan Penyelesaian Berasaskan Jadual
Walaupun nampaknya mudah untuk menggunakan jadual untuk memetakan hari kepada mereka penunjuk ordinal, pendekatan ini memperkenalkan risiko pepijat. Sebagai contoh, jika jadual itu tiada atau mengandungi ralat, ia boleh menyebabkan hasil yang salah. Pendekatan kod yang digariskan di atas menghapuskan potensi isu ini dengan menggunakan logik untuk mengira akhiran secara dinamik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Penunjuk Ordinal (st, nd, rd, th) pada Pemformatan Hari-dalam-Bulan di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!