Метод OffsetDateTime до () в Java с примерами

Опубликовано: 9 Февраля, 2022

until () класса OffsetDateTime, используемого для вычисления количества времени между двумя объектами OffsetDateTime с помощью TemporalUnit. Это начальная и конечная точки, а указанный OffsetDateTime передается в качестве параметра. Результат будет отрицательным, если конец раньше начала. Расчет возвращает целое число, представляющее количество полных единиц между двумя OffsetDateTime. Этот экземпляр неизменен и не зависит от вызова этого метода.

Синтаксис:

public long until (Temporal endExclusive, TemporalUnit unit)

Параметры: этот метод принимает два параметра endExclusive, которые являются конечной датой, исключая, которая преобразуется в OffsetDateTime, и unit, которая является единицей измерения суммы.

Возвращаемое значение: этот метод возвращает количество времени между OffsetDateTime и концом OffsetDateTime.

Исключение: этот метод вызывает следующие исключения:

  • DateTimeException - если сумма не может быть рассчитана или конечное временное значение не может быть преобразовано в OffsetDateTime.
  • UnsupportedTemporalTypeException - если блок не поддерживается.
  • ArithmeticException - при числовом переполнении.

Below programs illustrate the until() method:
Program 1:

// Java program to demonstrate
// OffsetDateTime.until() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // create OffsetDateTime objects
        OffsetDateTime date1 = OffsetDateTime.parse("2018-12-12T13:30:30+05:00");
        OffsetDateTime date2 = OffsetDateTime.parse("2015-12-12T13:30:30+05:00");
  
        // apply until method of OffsetDateTime class
        long result
            = date2.until(date1,
                          ChronoUnit.MONTHS);
  
        // print results
        System.out.println("Result in MONTHS: "
                           + result);
    }
}
Output:
Result in MONTHS: 36

Program 2:

// Java program to demonstrate
// OffsetDateTime.until() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // create OffsetDateTime objects
        OffsetDateTime date1 = OffsetDateTime.parse("2018-12-12T13:30:30+05:00");
        OffsetDateTime date2 = OffsetDateTime.parse("2015-12-12T13:30:30+05:00");
  
        // apply until method of OffsetDateTime class
        long result
            = date1.until(date2,
                          ChronoUnit.YEARS);
  
        // print results
        System.out.println("Result in YEARS: "
                           + result);
    }
}
Output:
Result in YEARS: -3

Использованная литература:
https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit)

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .