我有时间的TextView:HH:mm:ss:ms
例如我有时间:00:20:03:19。我的函数返回-9596
如何将此时间转换为Unix时间?错误在哪里?谢谢。

 private long convertStringToUnixTime() throws ParseException {
    String dateStr = "00:20:03:19";
    long unixTime;

    DateFormat formatter = new SimpleDateFormat("HH:mm:ss:ms");
    unixTime = formatter.parse(dateStr).getTime();

    unixTime = unixTime / 1000;

    return unixTime;
}

最佳答案

返回22803019-这是从纪元以来的毫秒数。

new SimpleDateFormat("HH:mm:ss:SSS").parse("00:20:03:19").getTime()


您没有说是想要秒还是毫秒,但是由于您要解析毫秒,所以我想您想要的是秒,因此无需除法。

总而言之,如果将String作为参数,您的方法可能会短很多

private long convertStringToUnixTime(String dateStr) throws ParseException {
    return new SimpleDateFormat("HH:mm:ss:SSS").parse(dateStr).getTime();
}

10-06 07:28