为了账号安全,请及时绑定邮箱和手机立即绑定

转换日期中的“使用excel方法”数值 - java

转换日期中的“使用excel方法”数值 - java

米脂 2022-07-27 19:52:23
我有一个整数,当我放入 Google 表格时,它代表日期 1911 年 14 月 10 日(整数值为 4305)。我需要在我的代码中使用 Java 进行同样的转换。所以我将有一个整数数组下降 1 倍(如 4305、4304、4303...),我需要将这些整数转换为日期(1911 年 14 月 10 日、1911 年 10 月 13 日、 12/10/1911...) 使用与 excel/sheets 相同的方法。有任何想法吗?
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

   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 日作为基准日期,并将日期表示为自该日期以来的天数。因此,只需将数字添加到该日期即可。我正在使用LocalDate现代 Java 日期和时间 API java.time。


问题:我可以在 Android 上使用 java.time 吗?

是的,java.time 在较旧和较新的 Android 设备上运行良好。它只需要至少Java 6。


在 Java 8 及更高版本以及更新的 Android 设备(从 API 级别 26 开始)中,现代 API 是内置的。

在 Java 6 和 7 中获得 ThreeTen Backport,现代类的后向端口(ThreeTen 用于 JSR 310;请参阅底部的链接)。

在(较旧的)Android 上使用 ThreeTen Backport 的 Android 版本。它被称为 ThreeTenABP。并确保从org.threeten.bp子包中导入日期和时间类。


查看完整回答
反对 回复 2022-07-27
  • 1 回答
  • 0 关注
  • 69 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信