2013-02-15 2 views
0

Android에서 센서 데이터를 기록해야합니다. 데이터베이스에 값을 저장하려면 타임 스탬프가 hh : mm : ss : SS 형식의 기본 키로 필요합니다. 여기서 SS는 밀리 초 값을 나타냅니다. 아래 코드를 사용하여 SensorEvent.timestamp를 사용하려고하면 Date 클래스에서 밀리 초를 가져올 수 없습니다.hh : mm : ss : SS 형식의 Android 장치에서 타임 스탬프

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 기기에서 현재 시간을 hh : mm : ss : SS 형식으로 가져올 수 있습니까? 또는이 대안은 무엇입니까?

미리 감사드립니다.

답변

0

SimpleDateFormat을 사용하십시오. 자습서 here을 참조하십시오. 하지만이 방법을 권장하지 않습니다. 길게 저장하면 순서, 순서 등을 비교할 수 있습니다.

+0

응답 해 주셔서 감사합니다. 이 작업을 수행하는 방법에 대한 예제 스 니펫을 공유 할 수 있습니까? @ gabi – user1741274

+0

public static final SimpleDateFormat SDF_ISO_DATE = new SimpleDateFormat ("yyyy-MM-dd HH : mm : ss"); public static String formatISODate (오랜 시간) { return SDF_ISO_DATE.format (새 날짜 (시간)); } –

+0

"HH : mm : ss.SSSZ"형식을 사용하면 10 : 23 : 48.000 + 0200이됩니다. 10.26.56.080처럼 Logcat에있는 형식으로 타임 스탬프를 얻을 수 있습니까? 마지막으로 밀리 초 값을 나타내기를 바랍니다. 이 값은 onSensorChanged() 메서드가 호출 될 때마다 달라 지므로이 값을 기본 키 값으로 사용할 수 있습니다. @ 가비 – user1741274

관련 문제