我想将纪元以来的天数转换为日期。假设我有以下内容Timestamp in days: 17749,那么它应该转换为Monday Aug 06 2018.
我正在尝试使用以下代码:
Date date = new SimpleDateFormat("D").parse(String.valueOf("17749"));
System.out.println(date);
Run Code Online (Sandbox Code Playgroud)
但我正在得到Sun Aug 05 00:00:00 PKT 2018。日期比应有的日期早一天,如何将其转换为 yyyy-mm-dd?
使用最新的 API,java.time您可以使用:
静态方法ofEpochDay:
LocalDate d = LocalDate.ofEpochDay(17749);
System.out.println(d); // 2018-08-06
Run Code Online (Sandbox Code Playgroud)静态常数EPOCH:
LocalDate.EPOCH.plusDays(17749);
Run Code Online (Sandbox Code Playgroud)然后对于输出,它只是String,因此您可以使用内置格式化程序或创建您的:DateTimeFormatter