Rumah > Java > javaTutorial > Bagaimana untuk Memformat Tarikh dengan Penunjuk Ordinal (1, 2, 3) di Java?

Bagaimana untuk Memformat Tarikh dengan Penunjuk Ordinal (1, 2, 3) di Java?

Barbara Streisand
Lepaskan: 2024-12-17 03:20:25
asal
355 orang telah melayarinya

How to Format Dates with Ordinal Indicators (1st, 2nd, 3rd) in Java?

Memformatkan Hari Bulan dengan Penunjuk Ordinal (th, rd)

Apabila memaparkan hari dalam bulan, selalunya wajar untuk memasukkan penunjuk ordinal untuk menandakan sama ada ia adalah "1", "2nd", "3rd", dll. Walaupun SimpleDateFormat Java menyediakan cara untuk memformat hari berangka bulan ("d"), ia tidak termasuk penunjuk ordinal.

Pemformatan Penunjuk Ordinal

Untuk memformatkan hari dalam bulan dengan penunjuk ordinal, anda boleh menggunakan fungsi tersuai atau bergantung pada perpustakaan luar. Salah satu perpustakaan tersebut ialah Google Guava, yang menawarkan kaedah yang dipanggil getDayOfMonthSuffix.

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";
    }
}
Salin selepas log masuk

Dalam contoh ini, getDayOfMonthSuffix mengambil satu hari dalam sebulan sebagai input dan mengembalikan penunjuk ordinal yang sepadan. Ia mengendalikan kes khas apabila hari berakhir dengan "11", "12", atau "13" untuk mengembalikan "th" dan bukannya "st", "nd", atau "rd".

Menggunakan kaedah ini , anda kini boleh memformatkan hari dalam bulan dengan penunjuk ordinal:

SimpleDateFormat sdf = new SimpleDateFormat("MMMMM d");
int dayOfMonth = 21;
String formattedDate = sdf.format(new Date()) + getDayOfMonthSuffix(dayOfMonth);
System.out.println(formattedDate); // prints "January 21st"
Salin selepas log masuk

Mengatasi Potensi Pepijat

Perhatikan bahawa adalah penting untuk mempertimbangkan kes sudut dan situasi istimewa apabila memformat hari dalam bulan dengan penunjuk ordinal. Sebagai contoh, jadual yang disebut dalam soalan mengandungi ralat untuk hari yang berakhir dengan "7tn", "17tn", dan "27tn". Untuk mengelakkan pepijat sedemikian, anda dinasihatkan untuk menggunakan kod tersuai yang mantap atau bergantung pada perpustakaan yang telah diuji dengan baik.

Atas ialah kandungan terperinci Bagaimana untuk Memformat Tarikh dengan Penunjuk Ordinal (1, 2, 3) di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan