Как получить день месяца и год с отметки времени (длинный формат)
Мне нужно получить день и месяц из объекта timestamp как длинные числа:
public long getTimeStampDay()
{
String iDate = new SimpleDateFormat("dd/MM/yyyy")
.format(new Date(born_date.getDate()));
.....
return day; //just the day
}
public long getTimeStampMonth()
{
String iDate = new SimpleDateFormat("dd/MM/yyyy")
.format(new Date(born_date.getDate()));
.....
return month; //just month
}
public long getTimeStampYear()
{
String iDate = new SimpleDateFormat("dd/MM/yyyy")
.format(new Date(born_date.getDate()));
.....
return year; //just year
}
born_date
- объект временной метки.
Можно ли это сделать?
Спасибо заранее.
Ответы
Ответ 1
long timestamp = bornDate.getTime();
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timestamp);
return cal.get(Calendar.YEAR);
Есть поля календаря для каждого необходимого вам свойства.
В качестве альтернативы вы можете использовать joda-time:
DateTime dateTime = new DateTime(bornDate.getDate());
return datetime.getYear();
Ответ 2
Увидев, что вы используете формат даты в каждом методе, вы можете использовать в каждом случае другую строку формата. Например:
public long getTimeStampDay()
{
String day = new SimpleDateFormat("dd")
.format(new Date(born_date.getDate()));
.....
return Long.parseLong(day); //just the day
}
Ответ 3
Небольшое обновление этой хорошо принятой темы, которая немного устарела.
В свое время в Java 8 был представлен API даты и времени, который делает процесс извлечения намного чище.
Предположим, что bornDate
является экземпляром LocalDateTime
.
bornDate.getDayOfMonth(); // extracts day of month
bornDate.getMonth(); // extracts month
bornDate.getYear(); // extracts year
Ссылка на Oracle: Java SE 8 Дата и время
Ответ 4
Этот метод возвращает день, дату, год и время:
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
Ответ 5
Я нашел простой способ сделать это:
born_date.getDay();
born_date.getMonth();
born_date.getYear();
даже если метод getDay getMonth и getYear устарели.
Я думаю, что решение Божо является лучшим.