尝试使用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