в Java, эквивалентный метод даты (String)? - PullRequest
0 голосов
/ 17 июня 2011

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

Ответы [ 2 ]

5 голосов
/ 17 июня 2011

Используйте 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);

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

2 голосов
/ 17 июня 2011

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

replaced by DateFormat.parse(String s)
...