更改日期5位int到Java中的日期字符串

时间:2018-08-11 11:50:59

标签: java android excel

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来回转换。

1 个答案:

答案 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);