How to convert an Instant to a date format?
本问题已经有最佳答案,请猛点这里访问。
我可以通过这种方式将
1 2 3 4 5 |
任何人都可以告诉我有关特定日期和时间的即时转换的信息。 时间格式? 即2015-06-02 8:30:00
我已经通过api但找不到满意的答案。
如果要将
然后您可以使用
1 2 | SimpleDateFormat formatter = new SimpleDateFormat("dd MM yyyy HH:mm:ss"); String formattedDate = formatter.format(myDate); |
瞬间就是它所说的:一个特定的时刻 - 它没有日期和时间的概念(纽约和东京的时间在给定的瞬间不一样)。
要将其打印为日期/时间,首先需要确定要使用的时区。 例如:
1 |
这将以iso格式打印日期/时间:
如果您想要不同的格式,可以使用格式化程序:
1 2 3 |
尝试解析和格式化
举个例子
解析
1 2 3 4 5 6 7 8 9 10 11 | String input = ...; try { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMM d yyyy"); LocalDate date = LocalDate.parse(input, formatter); System.out.printf("%s%n", date); } catch (DateTimeParseException exc) { System.out.printf("%s is not parsable!%n", input); throw exc; // Rethrow the exception. } |
格式化
1 2 3 4 5 6 7 8 9 10 11 12 | ZoneId leavingZone = ...; ZonedDateTime departure = ...; try { DateTimeFormatter format = DateTimeFormatter.ofPattern("MMM d yyyy hh:mm a"); String out = departure.format(format); System.out.printf("LEAVING: %s (%s)%n", out, leavingZone); } catch (DateTimeException exc) { System.out.printf("%s can't be formatted!%n", departure); throw exc; } |
此示例的输出(打印到达和离开时间)如下:
1 2 | LEAVING: Jul 20 2013 07:30 PM (America/Los_Angeles) ARRIVING: Jul 21 2013 10:20 PM (Asia/Tokyo) |
有关详情,请查看此页面 -
https://docs.oracle.com/javase/tutorial/datetime/iso/format.html
1 | Instant i = Instant.ofEpochSecond(cal.getTime); |
在这里和这里阅读更多