Java простая отметка времени в преобразование даты - PullRequest
7 голосов
/ 07 сентября 2010

Сегодня я какое-то время пытался найти ответ на этот вопрос, и в нем так много противоречивой информации ...

Что я хотел бы сделать, так это получить текущую метку времени Unix в Android, а затем преобразовать его в формат, который позволяет мне getHours () и getMinutes ().

В настоящее время я делаю это:

int time = (int) (System.currentTimeMillis());
Timestamp ts = new Timestamp(time);
mHour = ts.getHours();
mMinute = ts.getMinutes();

Но это не дает мне правильное значениев течение часа или минуты (возвращается 03:38 для текущего времени восточного побережья 13:33).

Ответы [ 5 ]

9 голосов
/ 07 сентября 2010

Это работает:

final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
Date date = cal.getTime();
mHour = date.getHours();
mMinute = date.getMinutes();
8 голосов
/ 07 сентября 2010

Просто используйте класс Java Calendar .

Calendar c = new GregorianCalendar();  // This creates a Calendar instance with the current time
mHour = c.get(Calendar.HOUR);
mMinute = c.get(Calendar.MINUTE);

Также обратите внимание, что ваш эмулятор Android вернет время в GMT для текущего времени.Я советую тестировать этот тип кода на реальном устройстве.

2 голосов
/ 05 января 2013
int time = (int) (System.currentTimeMillis());

здесь вы должны использовать long вместо int .

2 голосов
/ 02 ноября 2011

Посмотрите на это.

Надеюсь, это то, что вам нужно.

Простой формат даты Android

Удачи !!

0 голосов
/ 07 января 2013

Используйте T ime для класса Google. Это лучший выбор для этой работы, особенно с хорошей производительностью, не такой как у Calendar.

...