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

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

DDD
Release: 2024-12-24 19:05:10
Original
380 people have browsed it

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

Formatting the Day of the Month with Ordinal Indicators ("th", "st", "nd", "rd")

When representing the day of the month as a number, it can be valuable to include an ordinal indicator to specify whether it falls on the 1st, 2nd, 3rd, etc. This article delves into how to achieve this formatting using programming techniques.

While using SimpleDateFormat("d") provides the day of the month as a numeral (e.g., 11, 21, 23), achieving ordinal indicator formatting requires further steps. One approach involves utilizing an external library like Guava. Guava's getDayOfMonthSuffix method takes an integer representing the day of the month and returns an appropriate suffix: "st" for 1, "nd" for 2, "rd" for 3, and "th" otherwise.

For example, the following code demonstrates its use:

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";
    }
}
Copy after login

This method ensures that ordinal indicators are properly applied to the day of the month, accommodating edge cases like 7th, 17th, and 27th.

The above is the detailed content of How to Programmatically Add Ordinal Indicators (st, nd, rd, th) to Day-of-Month Numbers?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template