gpt4 book ai didi

java - 安卓日历: Get to the future day

转载 作者:行者123 更新时间:2023-12-01 11:21:25 26 4
gpt4 key购买 nike

我想为用户选择的特定日期设置闹钟,当我设置为当天的前一天时,它会将其设置为过去的日期,我希望将其设置为 future 的日期。

这是我的日历设置代码:

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, hour.getHour());
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.AM_PM, Calendar.AM);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.Monday);

假设今天是星期四,当我将日期设置为星期一时,我希望将其设置为 4 天后,但它设置为 3 天前,即过去的星期一

最佳答案

您可以使用以下“技术”:

  1. 计算当前日期与您想要设置为 future 日历的日期之间的天数差异,例如这样

    //future date
    Calendar thatDay = Calendar.getInstance();
    thatDay.set(Calendar.HOUR_OF_DAY, hour.getHour());
    thatDay.set(Calendar.MINUTE, 0);
    thatDay.set(Calendar.SECOND, 0);
    thatDay.set(Calendar.AM_PM, Calendar.AM);
    thatDay.set(Calendar.DAY_OF_WEEK, Calendar.Monday);

    //current date
    Calendar newDay = Calendar.getInstance();

    long diff = thatDay.getTimeInMillis() - newDay.getTimeInMillis(); //result in millis

    //result in days
    long days = diff / (24 * 60 * 60 * 1000);
  2. 将您在步骤 1 中计算出的天数添加到日历中,例如:

    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY, hour.getHour());
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.AM_PM, Calendar.AM);
    calendar.add(Calendar.DATE, daysCount); // Add daysCount days to current date

关于java - 安卓日历: Get to the future day,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31183486/

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