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

147
23 февраля 2018, 17:53

У меня назрел такой вопрос, как получить нужное время по дате в миллисекундах. Время которое сейчас можно получить просто введя System.currentTimeMillis(). А как получить время в миллисекундах, скажем на начало сегодняшнего дня или начало текущей недели, ну и все прочие, начало месяца, начало квартала и начало года. Можно конечно, расчеты всякие делать, но это не гуд, я предполагаю что можно использовать календарь, но я в нём не силён, вообще не силён.

Answer 1

Маленькая cправка

Calendar.getInstance().getTime() возвращает объект Date

Метод .getTime() объекта Date вернёт количество миллисекунд с начала эпохи в формате long

Конструктор Date(int year, int month, int day) создаст объект Date и установит время 00:00

Существуют и другие конструкторы Date Чтобы увидеть доступные конструкторы в IDE Android Studio/IntelliJ IDEA нажмите комбинации клавиш CTRL+P

Пример: введите new Date() и нажмите комбинацию CTRL+P. IDE покажет вам все существующие конструкторы

Теперь перейдём к решению:

    //Первый месяц в Date считается 0 (Январь), последний - 11(Декабрь)
    final int firstMonth = 0;
    final int firstDay = 1;
    //Давайте получим 01.01.ТЕКУЩИЙ_ГОД в миллисекундах.
    //Для этого создадим объект Date с датой 01.01.ТЕКУЩИЙ_ГОД
    Date current_year = new Date(Calendar.getInstance().getTime().getYear(), firstMonth, firstDay);
    //получим количество секунд на 01.01.ТЕКУЩИЙ_ГОД 00:00:00 UTC
    long current_year_in_milliseconds = current_year.getTime();

Для удобства в работе оберните этот код в метод

public static long getCurrentYearTimeInMilliseconds(){
  //код
}

и используйте где необходимо. По аналогии можете создать другие методы.

P.S. Не забудьте импортировать import java.util.Date;

READ ALSO
Логическая ошибка

Логическая ошибка

Решаю задачу на Java:

162
GlassFish не видит Java

GlassFish не видит Java

При попытке запуска GlassFish выдает ошибку

207
Бесконечный ListView

Бесконечный ListView

Добрый деньСкажите пожалуйста как можно организовать список который при нажатии по элементу списка формировал такой же список только с другими...

161
Запуск java-кода

Запуск java-кода

Есть небольшая проблемка с программой IntelliJ IDEA - не могу выполнить java-кодСделал как надо - во вкладке Bulid рядом сделал билд проекта, а кнопка...

137