Rumah >Java >javaTutorial >Bagaimana untuk Menambah Penunjuk Ordinal Secara Pemrograman (st, nd, rd, th) kepada Nombor Hari-dalam-Bulan?

Bagaimana untuk Menambah Penunjuk Ordinal Secara Pemrograman (st, nd, rd, th) kepada Nombor Hari-dalam-Bulan?

DDD
DDDasal
2024-12-24 19:05:10387semak imbas

How to Programmatically Add Ordinal Indicators (st, nd, rd, th) to Day-of-Month Numbers?

Memformatkan Hari Bulan dengan Petunjuk Ordinal ("th", "st", "nd", "rd")

Apabila mewakili hari dalam bulan sebagai nombor, ia boleh menjadi penting untuk memasukkan penunjuk ordinal untuk menentukan sama ada ia jatuh pada 1, 2, 3, dsb. Artikel ini membincangkan cara untuk mencapai pemformatan ini menggunakan teknik pengaturcaraan.

Semasa menggunakan SimpleDateFormat("d") menyediakan hari dalam bulan sebagai angka (cth., 11, 21, 23), mencapai ordinal pemformatan penunjuk memerlukan langkah selanjutnya. Satu pendekatan melibatkan penggunaan perpustakaan luaran seperti Guava. Kaedah getDayOfMonthSuffix Guava mengambil integer mewakili hari dalam sebulan dan mengembalikan akhiran yang sesuai: "st" untuk 1, "nd" untuk 2, "rd" untuk 3 dan "th" sebaliknya.

Sebagai contoh , kod berikut menunjukkan penggunaannya:

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";
    }
}

Kaedah ini memastikan penunjuk ordinal digunakan dengan betul pada hari dalam bulan itu, menampung kes edge seperti 7, 17 dan 27.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Penunjuk Ordinal Secara Pemrograman (st, nd, rd, th) kepada Nombor Hari-dalam-Bulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn