我有一个整数,当我放入Google表格时,它表示日期为14/10/1911(整数值为4305)。
我需要在使用Java的代码中进行相同的转换。所以我将有一个整数数组,下降1倍(如4305,4304,4303 ......)我需要将这些整数转换为日期(2011年10月14日,2011年10月13日, 12/10/1911 ...)使用excel / sheets使用的相同方法。
有任何想法吗?
谢谢
LocalDate msBaseDate = LocalDate.of(1899, Month.DECEMBER, 30);
int[] integers = { 4305, 4304, 4303 };
for (int integerValue : integers) {
LocalDate date = msBaseDate.plusDays(integerValue);
System.out.println(date);
}
此代码段的输出是:
1911-10-14 1911-10-13 1911-10-12
Excel和其他Microsoft产品以及可能的其他软件也使用1899年12月30日作为基准日期,并将日期表示为自该日期以来的天数。所以只需将该数字添加到该日期即可。我正在使用java.time中的LocalDate
,它是现代Java的日期和时间API。
是的,java.time适用于较旧和较新的Android设备。它至少需要Java 6。
org.threeten.bp
导入子包的日期和时间类。java.time
首次被描述。java.time
的后端到Java 6和7(JST-310的ThreeTen)。