当前位置: 首页 > 知识库问答 >
问题:

如何显示从当前时间增加30分钟的时间

丌官玺
2023-03-14

我只想它显示从当前时间增加30分钟到一天结束前-今天时间是09:46AM它应该显示像10:00AM,10:30AM,11:00AM...11:30PM的特定日期。但在我的代码里它从00:00...23:30显示一整天。下面是我的代码:

SimpleDateFormat df = new SimpleDateFormat("HH:mm");
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        int startDate = cal.get(Calendar.DATE);
        while (cal.get(Calendar.DATE) == startDate) {
            Log.d("time","currenttime"+cal.getTime());
            cal.add(Calendar.MINUTE, 30);
        }

共有1个答案

齐英朗
2023-03-14
    Duration interval = Duration.ofMinutes(30);
    DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm");
    ZoneId zone = ZoneId.of("Europe/Podgorica");
    ZonedDateTime now = ZonedDateTime.now(zone);
    // Start at a whole half hour no earlier than now
    ZonedDateTime start = now.truncatedTo(ChronoUnit.HOURS);
    while (start.isBefore(now)) {
        start = start.plus(interval);
    }
    // End when a new day begins
    ZonedDateTime limit = now.toLocalDate().plusDays(1).atStartOfDay(zone);

    // Iterate
    ZonedDateTime currentTime = start;
    while (currentTime.isBefore(limit)) {
        System.out.println(currentTime.format(timeFormatter));
        currentTime = currentTime.plus(interval);
    }

当我运行刚才的代码段时,得到了以下输出:

20:30
21:00
21:30
22:00
22:30
23:00
23:30

当然,在我把欧洲/波德戈里察放入时区的地方替换你想要的时区。

我使用了以下导入:

import org.threeten.bp.Duration;
import org.threeten.bp.ZoneId;
import org.threeten.bp.ZonedDateTime;
import org.threeten.bp.format.DateTimeFormatter;
import org.threeten.bp.temporal.ChronoUnit;
    null
  • Oracle教程:日期时间,说明如何使用java.Time.
  • 三个后端口项目
  • Threetenabp,Android版ThreeTen Backport
  • 问题:如何在Android项目中使用ThreeTenABP,并有非常透彻的解释。
  • Java规范请求(JSR)310。
 类似资料:
  • 问题内容: 我是Swift的新手,正在尝试调度程序。我已经选择了开始时间,我需要在开始时间上加上5分钟(或它的倍数)并将其显示在UILabel中吗? 问题答案: 两种方法: 使用和。例如,在Swift 3和更高版本中: let date = calendar.date(byAdding: .minute, value: 5, to: startDate) 只需使用运算符(请参阅)添加一个(即一定的

  • 1.js类型隐式转换 2.css给前20个元素设置样式 3.js获取元素宽高 4.js怎么获取class 5.服务端渲染怎么获取宽高 6.vue怎么稳定获取宽高,updated是什么阶段,dom更新具体指的是什么?只更新dom吗? 7.vue nexttick作用及实现原理 8.vue name属性作用,可以重复吗? 9.cookie怎么携带的 10.性能优化及举例 11.薪资期望及职业规划

  • 问题内容: 我这次 现在,我想添加大约10分钟的时间,这样 这可能吗?如果可以,怎么办? 谢谢 问题答案: 像这样 作为一个合理的警告,如果在这10分钟内涉及夏令时,则可能会出现一些问题。

  • 我已经开始学习Swift和iOS了。为了学习的目的,我用openweathermap API编写了一个天气应用程序。在api响应中,它给出了以Unix UTC时间为单位的时间。我已经在扩展中使用这个函数将时间(Int)转换为字符串- 所以应用程序中的输出看起来像- 现在我想让这个uilabel滴答作响,显示当前的日期和时间,每秒更新一次。我必须为此使用timer()吗?还是有其他解决方案?

  • 问题内容: 我有一个接收时间值的表格: 时间的格式为9:15:00-上午9:15。然后,我需要为此添加15分钟并将其存储在单独的变量中,但是我很困惑。 我正在尝试使用strtotime而不成功,例如: 但这不会解析。 问题答案: 您的代码无法运行(解析),因为最后还有一个额外的 错误 导致 Parse Error 。计数,您有2 和3 。如果您解决此问题,它会很好地工作,但是会返回一个时间戳,以使

  • 问题内容: 我想找出当前时间之后10分钟的日期时间。假设我们有 我想找到这个,十分钟后。我怎样才能做到这一点? 问题答案: 。基本上,您只需要添加10分钟的时间增量即可获得所需的时间。