Получить количество миллисекунд с некоторой даты

#java

#java

Вопрос:

Как получить количество миллисекунд с 15 октября 2011 года, 1:52:34 вечера.

Я могу получить количество миллисекунд с текущего времени.

 Date date = new Date();
        long currentTime = date.getTime();
        System.out.println("Current time in long: "   currentTime);
 

Комментарии:

1. нет, это не домашнее задание… Я готовлюсь к собеседованию, поэтому мне задали несколько вопросов по кодированию.. Так вот о чем я спрашиваю ..!!

2. Вопрос об интервью не особенно хорошо сформулирован. Теоретически исходное время может находиться в любом часовом поясе, и это может привести к изменению ответа на что угодно вплоть до почти 24 часов, что составляет ужасно много миллисекунд!

Ответ №1:

 long now = System.currentTimeMillis(); // Simpler way to get current time
Date date = new SimpleDateFormat("dd yyyy h:mm:ss a").parse("15 2011 1:52:34 PM");
long timeElapsed = now - date.getTime(); // Here's your number of ms
 

Комментарии:

1. Это дает правильный ответ, только если указанное время находится в часовом поясе по умолчанию для компьютера, на котором запущена программа. Это может быть то, что требуется, но, вероятно, это не следует предполагать без дополнительного ввода.

Ответ №2:

Используйте API календаря. Затем установите месяц, дату и время, которые вы хотите (15 октября 2011 года). Для начала изучите это:

 Calendar c = Calendar.getInstance();
 

Надеюсь, это поможет!

Ответ №3:

Ссылка

 import java.util.Calendar;
import java.util.Date;




public class TimeMilisecond {
  public static void main(String[] argv) {

      long lDateTime = new Date().getTime();
      System.out.println("Date() - Time in milliseconds: "   lDateTime);

      Calendar lCDateTime = Calendar.getInstance();
      System.out.println("Calender - Time in milliseconds :"   lCDateTime.getTimeInMillis());

  }

}
 

Ответ №4:

Вы можете использовать SimpleDateFormat для анализа произвольной даты и получения разницы в мс.

Ответ №5:

Используйте java.util.Календарь и заполните его информацией о дате. Затем используйте java.util.Calendar.getTimeInMillis() , чтобы получить количество миллисекунд с момента эпохи.