Java 如果我有一个字符串,如何在日历上设置maxDate?

Java 如果我有一个字符串,如何在日历上设置maxDate?,java,android,date-parsing,android-date,Java,Android,Date Parsing,Android Date,如果日期格式为dd/mm/yyy,如何使用setMaxDate设置日历的最大日期 我是为Android开发的。我假设你指的是Android.widget.DatePicker.setMaxDate java.time和ThreeTenABP 在我的时区中,上面使用的示例日期为2019年12月21日,生成的maxDateInMillis为1576882800000。根据底部的Epoch转换器链接,这意味着 你的时区:勒达格d。212019年12月吉隆坡。00:00:00GMT+01:00 根据链接

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


我是为Android开发的。

我假设你指的是Android.widget.DatePicker.setMaxDate

java.time和ThreeTenABP 在我的时区中,上面使用的示例日期为2019年12月21日,生成的maxDateInMillis为1576882800000。根据底部的Epoch转换器链接,这意味着

你的时区:勒达格d。212019年12月吉隆坡。00:00:00GMT+01:00

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

问题:我可以在Android上使用java.time吗? 是的,java.time在较旧和较新的Android设备上运行良好。它至少需要Java6

在Java8和更高版本以及API级别为26的较新Android设备上,内置了现代API。 在Java6和Java7中,获取ThreeTen Backport,即JSR310的现代类ThreeTen的Backport;请参阅底部的链接。 在较旧的Android上,使用Android版本的ThreeTen Backport。它叫ThreeTenABP。并确保使用子包从org.threeten.bp导入日期和时间类。 链接 解释如何使用java.time。 ,其中首次描述了java.time。 ,java.time的后端口到JSR-310的Java6和Java7。 ,Android版Three Ten Backport ,解释得非常透彻。
那是什么日历?你的问题不完整。setMaxDate方法在哪个类上?投票结束,因为不清楚。
    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);