У меня назрел такой вопрос, как получить нужное время по дате в миллисекундах. Время которое сейчас можно получить просто введя System.currentTimeMillis(). А как получить время в миллисекундах, скажем на начало сегодняшнего дня или начало текущей недели, ну и все прочие, начало месяца, начало квартала и начало года. Можно конечно, расчеты всякие делать, но это не гуд, я предполагаю что можно использовать календарь, но я в нём не силён, вообще не силён.
Маленькая 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;
Виртуальный выделенный сервер (VDS) становится отличным выбором
Добрый деньСкажите пожалуйста как можно организовать список который при нажатии по элементу списка формировал такой же список только с другими...
Есть небольшая проблемка с программой IntelliJ IDEA - не могу выполнить java-кодСделал как надо - во вкладке Bulid рядом сделал билд проекта, а кнопка...