首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从一天中获取下一次约会:分钟

从一天中获取下一次约会:分钟
EN

Stack Overflow用户
提问于 2015-06-07 18:01:46
回答 2查看 60关注 0票数 0

我试图得到下一个日期匹配日期格式,就像获得下一个日期匹配"1 10:00“(格式:u:mm)。

示例:如果我们是星期二6月2-22:00(例如),我希望将星期日6月7-10:00作为日期对象(因为它确实匹配"1 10:00“格式)。

编辑:它是"u“而不是"F",对不起!

EN

回答 2

Stack Overflow用户

发布于 2015-06-08 02:11:09

如果我明白你的问题,这就行了。基本上将1分钟添加到当前日期,直到通过格式找到您想要的日期为止。

你会想要设定一个比真实更安全的条件。

代码语言:javascript
复制
Calendar calendar = Calendar.getInstance();
Date date = new Date("06/02/2015 10:00");
calendar.setTime(date);
SimpleDateFormat sdf = new SimpleDateFormat("F HH:mm");
while (true) {
    calendar.add(Calendar.MINUTE, 1);
    if (sdf.format(calendar.getTime()).equals(sdf.format(date))) {
        System.out.println(calendar.getTime());
        break;
    }
}

这张照片是:03年6月3日上午10:00到2015年兽医.加1440分钟。

票数 -1
EN

Stack Overflow用户

发布于 2015-06-08 12:13:33

我自己终于找到了解决办法:

代码语言:javascript
复制
public static Date getNextDate(SimpleDateFormat format, String value) {
    try {
        Date date = format.parse(value);

        Calendar calendar = Calendar.getInstance();

        int diff = date.getDay() - calendar.get(Calendar.DAY_OF_WEEK);
        if (!(diff > 0)) {
            diff += 7;
        }
        calendar.add(Calendar.DAY_OF_MONTH, diff);

        calendar.set(Calendar.HOUR_OF_DAY, date.getHours());
        calendar.set(Calendar.MINUTE, date.getMinutes());
        calendar.set(Calendar.MINUTE, date.getSeconds());

        return calendar.getTime();
    } catch (ParseException exception) {
        exception.printStackTrace();
    }

    return null;
}

它将返回与我的格式匹配的下一个日期。我使用不推荐的方法,但我会尽快修复它。

不管怎样,谢谢你的帮助!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30696751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档