Excel将日期转换为5位整数int,所以我需要一种将这5位数字int ex. 43277
转换为日期字符串dd-MMM-yy
的方法,以及如何将其“日期字符串”更改为5位数字诠释
我正在尝试使该应用程序从Google电子表格中读取和写入。
的确,这里有一个类似的问题问“ Converting Number representation of Date in excel to Date in java”,但是所提供的代码对我cannot resolve symbol 'DateUtil'
无效,我也听不懂第二个答案。
我也在问如何不将它从int转换成String来回转换。
答案 0 :(得分:1)
Excel的序列化日期是自1900年1月1日以来的天数。为了再次确定日期,我们必须添加价值几天的序列号。
Java 8版本
/*
1900-1-0 0
1900-1-1 1
1900-1-2 2
1900-1-3 3
*/
int days = 43323;
LocalDate start = LocalDate.of(1900, 1, 1);
LocalDate today = LocalDate.of(2018, 8, 11);
// days to date
LocalDate date = start.plusDays(days).minusDays(2);
System.out.println(date);
// date to days
long days1 = ChronoUnit.DAYS.between(start, today) + 2;
System.out.println(days1);