Подтвердить что ты не робот

Как получить текущее время в миллисекундах в android

Я пытаюсь сохранить файл с именем в качестве текущей даты и времени в миллисекундах. и при чтении файла я хочу прочитать последний. Вот код

 Calendar rightNow = Calendar.getInstance();

  long offset = rightNow.get(Calendar.ZONE_OFFSET) +  rightNow.get(Calendar.DST_OFFSET);

  String sinceMidnight = Long.toString((rightNow.getTimeInMillis() + offset) %  (24 * 60 * 60 * 1000));

  return sinceMidnight+"_"+Filename;
4b9b3361

Ответ 1

Я думаю, вы можете использовать этот

long time= System.currentTimeMillis();

это возвращает текущее время в миллисекундах. это, безусловно, будет работать

long time= System.currentTimeMillis();
android.util.Log.i("Time Class ", " Time value in millisecinds "+time);

Вот мой logcat, используя указанную выше функцию

05-13 14:38:03.149: INFO/Time Class(301): Time value in millisecinds 1368436083157

Если у вас есть сомнения в миллисекундах.Проверить Здесь

EDIT: часовой пояс, который я использовал для демонстрации кода IST, поэтому, если вы отметили milliseconds, упомянутый в коде , совпадающий со временем в журнале из другого часового пояса укажите зону IST.

EDIT. Это простой подход. Но если вам нужен часовой пояс или какие-либо другие детали, я думаю, этого будет недостаточно Также посмотрите этот подход, используя поддержку android api

Ответ 2

Проблема заключается в том, что System. currentTimeMillis(); возвращает число миллисекунд с 1970-01-01T00: 00: 00Z, но new Date() указывает текущее местное время. Добавление ZONE_OFFSET и DST_OFFSET из класса Calendar дает время в формате UTC.

Calendar rightNow = Calendar.getInstance();

// offset to add since we're not UTC

long offset = rightNow.get(Calendar.ZONE_OFFSET) +
    rightNow.get(Calendar.DST_OFFSET);

long sinceMidnight = (rightNow.getTimeInMillis() + offset) %
    (24 * 60 * 60 * 1000);

System.out.println(sinceMidnight + " milliseconds since midnight");

Ответ 3

попробуйте это

  Calendar c = Calendar.getInstance(); 
  int mseconds = c.get(Calendar.MILLISECOND)

альтернативой будет

 Calendar rightNow = Calendar.getInstance();

 long offset = rightNow.get(Calendar.ZONE_OFFSET) +
        rightNow.get(Calendar.DST_OFFSET);
 long sinceMid = (rightNow.getTimeInMils() + offset) %
       (24 * 60 * 60 * 1000);

  System.out.println(sinceMid + " milliseconds since midnight");

Ответ 4

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
int mSec = calendar.get(Calendar.MILLISECOND);