尝试将时间戳转换为使用数据类型的时间段



尝试使用Java将时间戳转换为时间,在这里我可以使用ZoneID转换,但它将返回字符串数据类型。我希望在这里像getTimemillis()

这样的输出
Instant now = Instant.ofEpochMilli(lngDate);
ZoneId zoneId = ZoneId.of("America/Chicago");   
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(now, zoneId);
DateTimeFormatter isoDateFormatter = DateTimeFormatter.ISO_DATE_TIME;
String zdt = zonedDateTime.format(isoDateFormatter);

在这里,我期望只有时间毫升(8位数字)及以下给您我的代码,您可以帮助您解决它。

输入:1552979609000L

DateTimeFormatter isoDateFormatter = DateTimeFormatter.ISO_TIME;
String zdt = zonedDateTime.format(isoDateFormatter); // output in string : 00:13:29-07:00
LocalTime time = LocalTime.parse(zdt, isoDateFormatter); // output in local time : 00:13:29 

如果我正确理解,您想要一天中的毫秒,换句话说,从00:00:00开始的毫秒数,如int中的0(包含)到86 400 000(独家;多达8位)。ChronoField枚举对此有一个常数,因此当您知道如何时,它很简单:

    int millisecondOfDay = zonedDateTime.get(ChronoField.MILLI_OF_DAY);
    System.out.println("Millisecond of day: " + millisecondOfDay);

现在运行时输出:

毫秒:7773854

相关内容

  • 没有找到相关文章

最新更新