Метод isBefore
Метод isBefore класса Instant проверяет, находится ли
текущий момент времени раньше момента, переданного в параметре.
В первый параметр мы передаем объект Instant, с которым
сравнивается текущий момент. Метод возвращает true,
если текущий момент на временной шкале находится раньше
указанного, и false в противном случае. Оба момента
сравниваются с точностью до наносекунд.
Синтаксис
instant.isBefore(otherInstant)
Пример
Давайте создадим два момента времени и проверим, находится ли первый из них раньше второго:
import java.time.Instant;
public class Main
{
public static void main(String[] args)
{
Instant instant1 = Instant.ofEpochSecond(100);
Instant instant2 = Instant.ofEpochSecond(200);
boolean res = instant1.isBefore(instant2);
System.out.println(res);
}
}
Результат выполнения кода:
true
Пример
Теперь проверим обратную ситуацию, когда первый момент находится позже второго:
import java.time.Instant;
public class Main
{
public static void main(String[] args)
{
Instant instant1 = Instant.ofEpochSecond(200);
Instant instant2 = Instant.ofEpochSecond(100);
boolean res = instant1.isBefore(instant2);
System.out.println(res);
}
}
Результат выполнения кода:
false
Пример
Если оба момента времени равны, метод также вернет false,
поскольку момент не является строго раньшим самого себя:
import java.time.Instant;
public class Main
{
public static void main(String[] args)
{
Instant instant1 = Instant.ofEpochSecond(100);
Instant instant2 = Instant.ofEpochSecond(100);
boolean res = instant1.isBefore(instant2);
System.out.println(res);
}
}
Результат выполнения кода:
false
Пример
Давайте сравним моменты, полученные из строки и из миллисекунд,
чтобы убедиться, что метод корректно работает с разными способами
создания Instant:
import java.time.Instant;
public class Main
{
public static void main(String[] args)
{
Instant instant1 = Instant.parse("2024-01-01T00:00:00Z");
Instant instant2 = Instant.ofEpochMilli(1704067200000L);
boolean res = instant1.isBefore(instant2);
System.out.println(res);
}
}
Результат выполнения кода:
false
Смотрите также
-
класс
Instant,
который представляет момент времени -
метод
isAfter,
который проверяет, что момент позже указанного -
метод
now,
который возвращает текущий момент времени -
метод
toEpochMilli,
который возвращает количество миллисекунд