В java, эквивалентном методу date (String)?

90
10

Я хочу получить разницу между двумя моментами. I.e., текущее время и время1 (например, "17 Jun 2011 01:59:25"). С одной стороны, мы можем использовать Date(string). Но это устаревший метод. Как это сделать с помощью non- устаревшего метода?

спросил(а) 2021-01-19T13:42:35+03:00 6 месяцев назад
1
Решение
109

Используйте java.text.SimpleDateFormat для синтаксического анализа строки в объекте Date. Например:


String text = "17 Jun 2011 01:59:25";

DateFormat df = new SimpleDateFormat("dd MMM yyyy HH:mm:ss");
Date date = df.parse(text);


Вы можете получить разницу во времени между двумя объектами Date, вызвав на них getTime() и вычитая значения:

Date now = new Date();
long diff = now.getTime() - date.getTime();

System.out.println("Time difference in milliseconds: " + diff);


Если вы хотите узнать разницу в секундах, минутах, часах и т.д., то разделите количество миллисекунд на соответствующий коэффициент.

ответил(а) 2021-01-19T13:42:35+03:00 6 месяцев назад
77

Прокомментирован устаревший тег

replaced by DateFormat.parse(String s)

ответил(а) 2021-01-19T13:42:35+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема