1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xkzhangsan-xk-time

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 18:14 d81a85a

Методы работы с датой и временем:

  1. Сравнить два значения времени и определить, равны ли они (compare*).
  2. Получить метод точного начального времени: startTimeOfMonth() — начальное время месяца, endTimeOfMonth() — конечное время месяца (с точностью до секунд), endAccuracyTimeOf* — с точностью до миллисекунд (Date) или наносекунд (LocalDateTime).
  3. Определить, совпадают ли месяц и день (isSameMonthDay*), между следующими одинаковыми месяцем и днём (betweenNextSameMonthDay*) и следующий одинаковый месяц и день (nextSameMonthDay).
  4. Рассчитать метод созвездия (getConstellation*).
  5. Вычислить список времени для заданного года и месяца или начального интервала времени (getDateList).
  6. Уменьшить точность времени (reduceAccuracyTo*).
  7. Получить временную метку (getEpoch*).
  8. Рассчитать возраст (getAge*).
  9. Определить, наступил ли день рождения (isBirthDay*).
  10. Вычисление количества недель в месяце (weekof*).
  11. Определить понедельник и первый день недели (isMonday*, isZhouYi*).
  12. Метод расчёта двенадцати двухчасовых периодов (getTwelveTwo*).
  13. Расчёт квартала (getQuarter*).
  14. Точное начальное время для четырёх кварталов (startTimeOf*Quarter).
  15. Начальное время года (startTimeOfYear).
  16. Часто используемые методы времени (tomorrow() и другие).
  17. Изменить значение дня недели (withDayOfWeek*).
  18. Китайский рабочий день, включая определение рабочего дня и следующего рабочего дня (isChineseWorkDay*, nextChineseWorkDay*).
  19. Формат даты и времени (yyyy-MM-dd HH:mm:ss).
  20. Перекрытие двух или более временных интервалов (isOverlap*).
  21. Среднее время (averageTime*).
  22. Обратный отсчёт времени (countdown*).
  23. Список форматированных дат для заданного интервала (getDateFormatList).
  24. Перекрывающееся время двух интервалов (overlapTime).

Класс DateTimeFormatterUtil:

  1. Форматирование даты (format*):

    • formatToDateStr(Date date) — форматирование даты;
    • parse(Date date, DateTimeFormatter formatter) — использование определённого формата для форматирования даты.
  2. Разбор даты (parse*):

    • parseDateStrToDate(String text) — разбор даты yyyy-MM-dd;
    • parseToDate(String text, DateTimeFormatter formatter) — разбор строки с использованием определённого формата.
  3. Автоматический разбор (smartParse*).

  4. ISO формат (parseIso*).

  5. Разбор временной метки (parseEpochMilli*).

  6. Разбор даты по умолчанию (parseDateDefaultStr*).

  7. Пользовательский часовой пояс (format(Date date, DateTimeFormatter formatter, String zoneId)).

  8. Пользовательский шаблон (format(Date date, String dateFormatPattern)).

  9. Пользовательский разбор шаблона (parseToDate(String text, String dateFormatPattern)). Методы форматирования и анализа дат и времени

  10. Формат даты: метод formatTimestampStyle(Date date) используется для форматирования даты в формате yyyy-mm-dd hh:mm:ss.fffffffff, где fffffffff — наносекунды, которые можно опустить.

  11. Анализ даты: метод parseTimestampStyleToDate(String text) анализирует строку в формате даты и преобразует её в объект Date.

  12. Проверка формата даты: метод isValidDate* проверяет, соответствует ли строка заданному формату даты. Например, isValidDate(«2021-09-11») проверяет, является ли строка «2021-09-11» корректной датой в формате гггг-мм-дд.

  13. Разбор даты по шаблону: метод parseToDate(String text, String[] dateFormatPatterns) позволяет анализировать дату на основе массива шаблонов. Если один из шаблонов успешно анализируется, возвращается соответствующая дата.

  14. Анализ естественного языка: методы parseNaturalLanguageToDate(String text), parseNaturalLanguageToDate(String text, Map<String, String> naturalLanguageMap) позволяют анализировать даты, представленные в естественном языке, такие как «сегодня», «завтра», «на следующей неделе», «в следующем месяце», «через год», «вчера», «на прошлой неделе», «в прошлом месяце» и «два года назад».

  15. Форматирование даты: метод formatToChineseDateStr(Date date, boolean isUpperCase) форматирует дату в китайский формат, например, «2021年09月11日» или «二〇二一年九月十一日».

  16. Анализ китайской даты: метод parseChineseDateStrToDate(String text) разбирает китайскую дату, представленную в форматах «2021年09月11日» и «二〇二一年九月十一日».

  17. Работа с часовыми поясами: при использовании методов форматирования и разбора дат необходимо учитывать разницу во времени между системным часовым поясом и часовым поясом, указанным в данных. Для этого можно использовать метод withZone(ZoneId.of("Europe/Paris")) или другие методы работы с часовыми поясами.

  18. Создание календаря: метод generateCalendar*(int year, int month) создаёт календарь для указанного года и месяца. Метод generateCalendarWithHoliday*(int year, int month, Map<String, String> localHolidayMap, Map<String, String> chineseHolidayMap, Map<String, Integer> dateTypeMap) дополнительно включает информацию о праздниках и рабочих днях.

  19. Использование лунного календаря: класс LunarDate предоставляет функции для работы с датами по лунному календарю, включая расчёт лет, месяцев и дней, а также вычисление китайского зодиака и 24 сезонов.

  20. Расчёт праздничных дней: класс HolidayUtil предоставляет методы для расчёта праздничных дней по григорианскому и лунному календарям.

  21. Выражение Cron: класс CronExpressionUtil позволяет работать с выражениями Cron, проверять их правильность и форматировать. Методы getNextTime и getNextTimeList возвращают следующее время выполнения, а методы getNextTimeStr и getNextTimeStrList форматируют это время в виде строки.

  22. Измерение времени: класс CostUtil предоставляет инструменты для измерения времени выполнения задач с точностью до секунд, миллисекунд и наносекунд.

  23. Анализ времени в естественном языке: класс TimeNLPUtil предоставляет инструменты для анализа времени, представленного в естественном языке.

  24. Константы времени: класс XkTimeConstant содержит константы для удобства вычисления временных единиц. 1. Каждые 1000 миллисекунд равны 1 секунде.

2. Преобразование в базовое значение секунд, например, SECONDS_PER_DAY равно 24 * 60 * 60.

3. Преобразование в основное значение миллисекунд, например, MILLISECONDS_PER_DAY равно 24 * 60 * 60 * 1000.

Более подробную информацию можно найти в соответствующем тестовом коде: XkTimeConstantTest.

4. Более подробная документация

5. Участие в проекте

5.1. Сообщение об ошибках и предложения

Проблемы.

5.2. Вклад кода

(1) Форк проекта. (2) Изменение в ветке dev. (3) Отправка pull request.

6. План разработки

6.1. Класс инструментов для анализа времени на естественном языке (NLP) TimeNLPUtil поддерживает распознавание праздников

(1) Поддержка популярных праздников, таких как Новый год, Китайский Новый год, Цинмин, День труда, Праздник драконьих лодок и Праздник середины осени. (2) Поддержка 24 солнечных терминов.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xkzhangsan-xk-time.git
git@api.gitlife.ru:oschina-mirror/xkzhangsan-xk-time.git
oschina-mirror
xkzhangsan-xk-time
xkzhangsan-xk-time
master