Отметка времени с устройства Android в формате чч:мм:сс:СС

У меня есть требование регистрировать данные датчика в Android. Чтобы хранить значения в базе данных, мне нужна метка времени в качестве первичного ключа в формате - чч: мм: сс: СС, где СС представляет значение в миллисекундах. Когда я попытался использовать SensorEvent.timestamp (используя приведенный ниже код), мне не удалось получить миллисекунду из класса Date.

    long currTimeRelativeToBoot = SystemClock.uptimeMillis();
    long currTimeAbsolute = System.currentTimeMillis();
    double mStartTimeAbsoluteS = ((double)(currTimeAbsolute - currTimeRelativeToBoot))/(double)1000.0;
    double temp = mStartTimeAbsoluteS+((double)event.timestamp)/1000000000.0;
    Date time=new java.util.Date((long)temp*1000);

Можно ли получить текущее время с Android-устройства в формате чч:мм:сс:СС? Или какая альтернатива этому?

Заранее спасибо!


person user1741274    schedule 15.02.2013    source источник


Ответы (1)


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

person Buda Gavril    schedule 15.02.2013
comment
Спасибо за ответ. Можете ли вы поделиться примером фрагмента того, как это сделать? @габи - person user1741274; 15.02.2013
comment
public static final SimpleDateFormat SDF_ISO_DATE = new SimpleDateFormat (yyyy-MM-dd HH:mm:ss); общедоступная статическая строка formatISODate (долгое время) { return SDF_ISO_DATE.format (новая дата (время)); } - person Buda Gavril; 15.02.2013
comment
Когда я использовал формат HH:mm:ss.SSSZ, я получаю 10:23:48.000+0200. Можно ли получить метку времени в формате, представленном в Logcat, например 10.26.56.080. Я надеюсь, что последнее обозначает миллисекундное значение. Они различаются при каждом вызове метода onSensorChanged(), поэтому я могу использовать это как значение первичного ключа. @габи - person user1741274; 15.02.2013