【问题标题】:Timestamp from Android device in the format hh:mm:ss:SS来自 Android 设备的时间戳,格式为 hh:mm:ss:SS
【发布时间】:2013-02-15 08:00:44
【问题描述】:

我需要在 Android 中记录传感器数据。为了将值存储在数据库中,我需要时间戳作为主键,格式为 - hh:mm:ss:SS,其中 SS 表示毫秒值。当我尝试使用 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);

是否可以以 hh:mm:ss:SS 格式从 Android 设备获取当前时间? 或者有什么替代方法?

提前致谢!

【问题讨论】:

    标签: android timestamp android-sensors


    【解决方案1】:

    使用 SimpleDateFormat,参见教程here。但是不推荐这种方式,如果长存的话,可以对比一下,排序等等……

    【讨论】:

    • 感谢您的回复。你能分享一个如何做到这一点的示例 sn-p 吗? @加比
    • public static final SimpleDateFormat SDF_ISO_DATE = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static String formatISODate(long time) { return SDF_ISO_DATE.format(new Date(time)); }
    • 当我使用格式“HH:mm:ss.SSSZ”时,我得到 10:23:48.000+0200。是否可以获取 Logcat 中存在的格式的时间戳,例如 10.26.56.080。我希望最后一个表示毫秒值。这些在每次调用 onSensorChanged() 方法时都会有所不同,因此我可以将其用作主键值。 @加比
    猜你喜欢
    • 2014-01-07
    • 1970-01-01
    • 2016-08-06
    • 2013-03-23
    • 1970-01-01
    • 2017-08-17
    • 2015-02-05
    • 2020-06-06
    • 2020-11-17
    相关资源
    最近更新 更多