繁体   English   中英

将 Epoch 值转换为 12 小时格式的时间戳

[英]Convert Epoch value into 12 hours format timestamp

我正在尝试将 Epoch 时间转换为 Scala 中的时间戳。

时代价值:1475596740

时间戳:1475596740*1000 => 1475596740000

结果时间戳总是以 24 小时格式给出结果。但我想在 java/Scala 中将其转换为 12 小时格式。我使用了以下代码

   val outputformat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa");
    val formatteddTS = outputformat.format(ts)
    println(outputformat.parse(formatteddTS).getTime)

我需要将此结果与另一个 12 小时格式的时间戳值进行比较。 如果我进行比较,结果是有线的。

时间 1(纪元)

2016-10-04 21:29:00.0

1475596740000(以毫秒为单位)

时间 2(12 小时格式的时间戳)

2016-10-04 09:29:28.0

1475553568000(以毫秒为单位)

结果

时间 2-时间 1 => -43172

从逻辑上讲,2016-10-04 21:29:00.0 和 2016-10-04 09:29:28.0 之间的时间差约为 28 秒(28000),但我得到的结果是 43172

我相信你的计算有问题,因为我可以用你提供的数据看到正确的结果

    Calendar cal1 = Calendar.getInstance();
    Calendar cal2 = Calendar.getInstance();
    long time1 = 1475596740000l;
    long time2 = 1475553568000l;
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa");
    cal1.setTimeInMillis(time1);
    System.out.println(dateFormat.format(cal1.getTime()));
    cal2.setTimeInMillis(time2);
    System.out.println(dateFormat.format(cal2.getTime()));
    System.out.println(time1 - time2);

和输出:

2016-10-04 10:59:00 PM
2016-10-04 10:59:28 AM
43172000

43172000 应该是大约 12 小时

编辑

好的,我按照您的建议使用了另一种方法,结果又是一样的 - 43172000:

    String date1 = "2016-10-04 21:29:00";
    String date2 = "2016-10-04 09:29:28 AM";
    SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
    SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa", Locale.ENGLISH);
    Date dateObj1 = null;
    Date dateObj2 = null;
    try {
        dateObj1 = format1.parse(date1);
        dateObj2 = format2.parse(date2);
    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println(dateObj1.getTime() - dateObj2.getTime());

对于“2016-10-04 09:29:28 PM”,它返回-28000。 我相信问题出在日期转换中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM