Java中如何通过for循环操作LocalTime按指定间隔生成目标时间序列
Java LocalTime循环累加实现方案
现有代码问题
- LocalTime初始化语法不符合Java规范,不能直接用
10.30 AM的字面量赋值 - 循环内未实现时间的迭代更新与格式化输出
修正后完整代码
import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.Locale; public class TimeAccumulateDemo { public static void main(String[] args) { int count = 3; int stepMinutes = 30; // 构造初始10:30的时间对象 LocalTime currentTime = LocalTime.of(10, 30); // 定义格式化规则,适配am/pm输出格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh.mm a", Locale.ENGLISH); for (int i = 0; i < count; i++) { // 格式化输出并转为小写匹配需求样式 System.out.println(formatter.format(currentTime).toLowerCase()); // 累加步长时间完成迭代 currentTime = currentTime.plusMinutes(stepMinutes); } } }
输出结果
10.30 am 11.00 am 11.30 am
逻辑说明
- 用
LocalTime.of(10,30)正确构造初始时间实例,替代错误的字面量赋值写法 - 定义
DateTimeFormatter指定输出格式,搭配Locale.ENGLISH保证输出am/pm标识,转小写后完全匹配需求的输出样式 - 循环内先输出当前时间,再执行分钟累加操作更新时间变量,循环3次即可得到目标结果
内容的提问来源于stack exchange,提问作者007
相关产品推荐
相关产品推荐

