gpt4 book ai didi

java - 如果我有字符串,如何在日历上设置 maxDate?

转载 作者:行者123 更新时间:2023-12-02 09:42:15 27 4
gpt4 key购买 nike

如何使用 setMaxDate 设置日历的最大日期如果我的日期格式为 dd/mm/yyy

我正在为 Android 进行开发。

最佳答案

我假设您的意思是android.widget.DatePicker.setMaxDate

java.time 和 ThreeTenABP

    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("d/M/u");
String maxDateString = "21/12/2019";
long maxDateInMillis = LocalDate.parse(maxDateString, dateFormatter)
.atStartOfDay(ZoneId.systemDefault())
.toInstant()
.toEpochMilli();
yourDatePicker.setMaxDate(maxDateInMillis);

在我的时区中,上面使用的示例日期 21/12/2019 生成的 maxDateInMillis 为 1 576 882 800 000。根据 Epoch Converter(底部链接),这意味着

Your time zone: lørdag d. 21. december 2019 kl. 00:00:00 GMT+01:00

根据链接文档DatePicker使用设备时区。

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

是的,java.time 在旧版和新版 Android 设备上都能很好地工作。它只需要至少 Java 6

  • 在 Java 8 及更高版本以及较新的 Android 设备(从 API 级别 26 开始)中,现代 API 是内置的。
  • 在 Java 6 和 7 中获取 ThreeTen Backport,即现代类的向后移植(ThreeTen for JSR 310;请参阅底部的链接)。
  • 在(较旧的)Android 上使用 ThreeTen Backport 的 Android 版本。它被称为 ThreeTenABP。并确保使用子包从 org. Threeten.bp 导入日期和时间类。

链接

关于java - 如果我有字符串,如何在日历上设置 maxDate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56971981/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com