«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как программно добавить порядковые индикаторы (st, nd, rd, th) к числам дней месяца?

Как программно добавить порядковые индикаторы (st, nd, rd, th) к числам дней месяца?

Опубликовано 21 декабря 2024 г.
Просматривать:340

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

Форматирование дня месяца с помощью порядковых индикаторов («th», «st», «nd», «rd»)

При представлении дня месяца в виде числа может быть полезно включить порядковый указатель, чтобы указать, приходится ли он на 1-е, 2-е, 3-е и т. д. В этой статье рассказывается, как добиться такого форматирования с помощью методов программирования.

Хотя использование SimpleDateFormat("d") предоставляет день месяца в виде числа (например, 11, 21, 23), для достижения порядкового форматирования индикатора требуются дальнейшие шаги. Один из подходов предполагает использование внешней библиотеки, такой как Guava. Метод getDayOfMonthSuffix Guava принимает целое число, представляющее день месяца, и возвращает соответствующий суффикс: «st» для 1, «nd» для 2, «rd» для 3 и «th» в противном случае.

Например. , следующий код демонстрирует его использование:

import static com.google.common.base.Preconditions.*;

String getDayOfMonthSuffix(final int n) {
    checkArgument(n >= 1 && n = 11 && n 

Этот метод гарантирует, что порядковые индикаторы правильно применяются к дню месяца, учитывая крайние случаи, такие как 7-й, 17-й и 27-й.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3