Метод parse
Метод parse класса Instant преобразует строку в объект Instant. В первый параметр мы передаем строку с датой и временем в формате ISO-8601. Второй параметр необязательный - в него можно передать объект DateTimeFormatter для разбора строки в собственном формате. Если строка не соответствует ожидаемому формату, выбрасывается исключение DateTimeParseException.
Синтаксис
Instant.parse(CharSequence text)
Instant.parse(CharSequence text, DateTimeFormatter formatter)
Пример
Давайте разберем строку в формате ISO-8601 и получим объект Instant:
import java.time.Instant;
public class Main
{
public static void main(String[] args)
{
Instant res = Instant.parse("2025-01-15T10:30:00Z");
System.out.println(res);
}
}
Результат выполнения кода:
"2025-01-15T10:30:00Z"
Пример
Давайте разберем строку с другим форматом, передав объект DateTimeFormatter вторым параметром:
import java.time.Instant;
import java.time.format.DateTimeFormatter;
public class Main
{
public static void main(String[] args)
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
Instant res = Instant.parse("2025-01-15 10:30:00", formatter);
System.out.println(res);
}
}
Результат выполнения кода:
"2025-01-15T10:30:00Z"
Пример
Давайте разберем строку и выведем количество миллисекунд, прошедших с начала эпохи:
import java.time.Instant;
public class Main
{
public static void main(String[] args)
{
Instant res = Instant.parse("1970-01-01T00:00:01Z");
System.out.println(res.toEpochMilli());
}
}
Результат выполнения кода:
1000
Смотрите также
-
класс
Instant,
который представляет момент времени на шкале UTC -
метод
now,
который возвращает текущий момент времени -
метод
ofEpochMilli,
который создает Instant из миллисекунд -
метод
ofEpochSecond,
который создает Instant из секунд