Spec-Zone.ru › OpenJDK 25

Класс JulianFields

java.lang.Object
java.time.temporal.JulianFields
public final class JulianFields extends Object
Набор полей даты, предоставляющих доступ к юлианским дням.

Юлианский день — это стандартный способ представления даты и времени, широко используемый в научном сообществе. Он выражается десятичным числом целых дней, отсчёт которых начинается в полдень. Этот класс представляет варианты юлианских дней, в которых целые дни отсчитываются от полуночи.

Поля реализованы относительно EPOCH_DAY. Поля поддерживаются, их значения можно запрашивать и устанавливать, если доступно EPOCH_DAY. Поля работают со всеми календарными системами.

Требования к реализации:
Этот класс является неизменяемым и потокобезопасным.
С версии:
1.8

Краткое описание полей

Модификатор и тип Поле Описание
static final TemporalField JULIAN_DAY
Поле юлианского дня.
static final TemporalField MODIFIED_JULIAN_DAY
Поле модифицированного юлианского дня.
static final TemporalField RATA_DIE
Поле Rata Die.

Краткое описание методов

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

JULIAN_DAY

public static final TemporalField JULIAN_DAY
Поле юлианского дня.

Это целочисленный вариант номера юлианского дня. Юлианский день — это известная система, представляющая количество целых дней с дня 0, который определён как 1 января 4713 года до н. э. по юлианскому календарю и -4713-11-24 по григорианскому календарю. Поле имеет значение 'JulianDay' в качестве 'name' и 'DAYS' в качестве 'baseUnit'. Поле всегда относится к местной дате и времени, игнорируя смещение или часовой пояс.

Для даты и времени 'JULIAN_DAY.getFrom()' возвращает одно и то же значение с полуночи до момента непосредственно перед следующей полуночью. При применении 'JULIAN_DAY.adjustInto()' к дате и времени часть, обозначающая время суток, остаётся неизменной. 'JULIAN_DAY.adjustInto()' и 'JULIAN_DAY.getFrom()' применимы только к объектам Temporal, которые можно преобразовать в ChronoField.EPOCH_DAY. Для объектов любого другого типа выбрасывается UnsupportedTemporalTypeException.

На этапе разрешения при разборе даты можно создать дату на основе поля юлианского дня. В строгом режиме и интеллектуальном режиме значение юлианского дня проверяется на соответствие допустимому диапазону. В нестрогом режиме проверка не выполняется.

Астрономические и научные примечания

В стандартном астрономическом определении для обозначения времени суток используется дробная часть, причём каждый день отсчитывается от полудня до полудня. Например, дробная часть 0 соответствует полудню, 0.25 — 18:00, 0.5 — полуночи, а 0.75 — 06:00.

В отличие от этого, данная реализация не использует дробную часть и отсчитывает дни от полуночи до полуночи. В этой реализации используется целое число, а дни начинаются в полночь. Целочисленное значение номера юлианского дня соответствует астрономическому значению юлианского дня в полдень рассматриваемой даты. Это эквивалентно астрономическому юлианскому дню, округлённому до целого числа JDN = floor(JD + 0.5).

 | ISO date          |  Julian Day Number | Astronomical Julian Day |
 | 1970-01-01T00:00  |         2,440,588  |         2,440,587.5     |
 | 1970-01-01T06:00  |         2,440,588  |         2,440,587.75    |
 | 1970-01-01T12:00  |         2,440,588  |         2,440,588.0     |
 | 1970-01-01T18:00  |         2,440,588  |         2,440,588.25    |
 | 1970-01-02T00:00  |         2,440,589  |         2,440,588.5     |
 | 1970-01-02T06:00  |         2,440,589  |         2,440,588.75    |
 | 1970-01-02T12:00  |         2,440,589  |         2,440,589.0     |

Иногда считается, что юлианские дни подразумевают всемирное время или UTC, однако в этой реализации всегда используется номер юлианского дня для местной даты, независимо от смещения или часового пояса.

MODIFIED_JULIAN_DAY

public static final TemporalField MODIFIED_JULIAN_DAY
Поле модифицированного юлианского дня.

Это целочисленный вариант номера модифицированного юлианского дня. Модифицированный юлианский день (MJD) — это известная система непрерывного отсчёта дней. Он определяется относительно астрономического юлианского дня как MJD = JD - 2400000.5. Каждый модифицированный юлианский день длится от полуночи до полуночи. Поле всегда относится к местной дате и времени, игнорируя смещение или часовой пояс.

Для даты и времени 'MODIFIED_JULIAN_DAY.getFrom()' возвращает одно и то же значение с полуночи до момента непосредственно перед следующей полуночью. При применении 'MODIFIED_JULIAN_DAY.adjustInto()' к дате и времени часть, обозначающая время суток, остаётся неизменной. 'MODIFIED_JULIAN_DAY.adjustInto()' и 'MODIFIED_JULIAN_DAY.getFrom()' применимы только к объектам Temporal, которые можно преобразовать в ChronoField.EPOCH_DAY. Для объектов любого другого типа выбрасывается UnsupportedTemporalTypeException.

В этой реализации используется целочисленный вариант MJD, дробная часть которого округляется вниз.

На этапе разрешения при разборе даты можно создать дату на основе поля модифицированного юлианского дня. В строгом режиме и интеллектуальном режиме значение модифицированного юлианского дня проверяется на соответствие допустимому диапазону. В нестрогом режиме проверка не выполняется.

Астрономические и научные примечания

 | ISO date          | Modified Julian Day |      Decimal MJD |
 | 1970-01-01T00:00  |             40,587  |       40,587.0   |
 | 1970-01-01T06:00  |             40,587  |       40,587.25  |
 | 1970-01-01T12:00  |             40,587  |       40,587.5   |
 | 1970-01-01T18:00  |             40,587  |       40,587.75  |
 | 1970-01-02T00:00  |             40,588  |       40,588.0   |
 | 1970-01-02T06:00  |             40,588  |       40,588.25  |
 | 1970-01-02T12:00  |             40,588  |       40,588.5   |
Иногда считается, что модифицированные юлианские дни подразумевают всемирное время или UTC, однако в этой реализации всегда используется модифицированный юлианский день для местной даты, независимо от смещения или часового пояса.

RATA_DIE

public static final TemporalField RATA_DIE
Поле Rata Die.

Rata Die непрерывно отсчитывает целые дни, начиная с дня 1, который начинается в полночь 0001-01-01 (ISO). Поле всегда относится к местной дате и времени, игнорируя смещение или часовой пояс.

Для даты и времени 'RATA_DIE.getFrom()' возвращает одно и то же значение с полуночи до момента непосредственно перед следующей полуночью. При применении 'RATA_DIE.adjustInto()' к дате и времени часть, обозначающая время суток, остаётся неизменной. 'RATA_DIE.adjustInto()' и 'RATA_DIE.getFrom()' применимы только к объектам Temporal, которые можно преобразовать в ChronoField.EPOCH_DAY. Для объектов любого другого типа выбрасывается UnsupportedTemporalTypeException.

На этапе разрешения при разборе даты можно создать дату на основе поля Rata Die. В строгом режиме и интеллектуальном режиме значение Rata Die проверяется на соответствие допустимому диапазону. В нестрогом режиме проверка не выполняется.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/temporal/JulianFields.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API