Java 如何为Android显示sensorevent.timestamp的准确时间?

Java 如何为Android显示sensorevent.timestamp的准确时间?,java,android,time,sensors,android-dateutils,Java,Android,Time,Sensors,Android Dateutils,我想显示检测到第一步的时间。但该应用程序始终显示1970年1月1日。有人会检查出什么问题以及如何改变它吗?这是我的密码: public void run() { SensorManager mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECT

我想显示检测到第一步的时间。但该应用程序始终显示1970年1月1日。有人会检查出什么问题以及如何改变它吗?这是我的密码:

public void run() {
    SensorManager mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);

    mSensorManager.registerListener(new SensorEventListener() {
        @Override
        public void onSensorChanged(SensorEvent sensorEvent) {
            long timeStamp = sensorEvent.timestamp / 1000000;
            textView_moveTime.setText(DateUtils.getRelativeTimeSpanString(timeStamp));
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int i) {

        }
    }, mSensor, mSensorManager.SENSOR_DELAY_FASTEST);
}

SensorEvent以纳秒为单位报告自系统启动以来的时间(包括睡眠时间)。 要将其转换为以纳秒为单位的绝对时间,请使用以下公式:

(DateTime.now().getMillis() - SystemClock.elapsedRealtime()) * 1000000
                + sensorEvent.timestamp

SensorEvent以纳秒为单位报告自系统启动以来的时间(包括睡眠时间)。 要将其转换为以纳秒为单位的绝对时间,请使用以下公式:

(DateTime.now().getMillis() - SystemClock.elapsedRealtime()) * 1000000
                + sensorEvent.timestamp

我认为1970年1月1日等于0(即开始日期/时间)。因此,也许可以查看是否返回/设置了0。由于
时间戳
是纳秒级精度,它不可能在Unix历元时基中,因此除以1000000不太可能工作。它可能使用同一个系统,在这种情况下,您仅使用它从某个起点计算相对时间。非常感谢!我想我找到了原因。我认为1970年1月1日等于0(即开始日期/时间)。因此,也许可以查看是否返回/设置了0。由于
时间戳
是纳秒级精度,它不可能在Unix历元时基中,因此除以1000000不太可能工作。它可能使用同一个系统,在这种情况下,您仅使用它从某个起点计算相对时间。非常感谢!我想我找到了原因。对不起,什么是“约会时间”。。。AS不承认这是一个有效的类。对不起,什么是“DateTime”。。。AS不认为这是一个有效的类。