java怎样将时间切割_如何实现时间区间的分割??

这个Java程序演示了如何使用`SimpleDateFormat`和`Calendar`类来解析日期字符串,并创建一个从开始到结束时间的小时遍历。它逐小时打印时间,并在最后分钟处填充00或59,具体取决于是否已到达结束时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

public class Test {

public static void main(String[] args) {

String a = "2014-8-1 16:09";

String b = "2014-8-2 18:11";

SimpleDateFormat sp = new SimpleDateFormat("yyyy-M-d HH:mm");

try {

Date startDate = sp.parse(a);

Date endDate = sp.parse(b);

Calendar startCalenaer = Calendar.getInstance();

startCalenaer.setTime(startDate);

Calendar endCalenaer = Calendar.getInstance();

endCalenaer.setTime(endDate);

for (int i = 0; startCalenaer.before(endCalenaer); startCalenaer.add(Calendar.HOUR_OF_DAY, +1), i++) {

printTime(startCalenaer);

if (i == 0) {

System.out.print(startCalenaer.get(Calendar.MINUTE) + " ");

} else {

System.out.print("00 ");

}

printTime(startCalenaer);

if (startCalenaer.get(Calendar.YEAR) == endCalenaer.get(Calendar.YEAR)

&& startCalenaer.get(Calendar.MONTH) == endCalenaer.get(Calendar.MONTH)

&& startCalenaer.get(Calendar.DAY_OF_MONTH) == endCalenaer.get(Calendar.DAY_OF_MONTH)

&& startCalenaer.get(Calendar.HOUR_OF_DAY) == endCalenaer.get(Calendar.HOUR_OF_DAY)) {

System.out.println(endCalenaer.get(Calendar.MINUTE));

} else {

System.out.println(59);

}

}

} catch (ParseException e) {

e.printStackTrace();

}

}

static private void printTime(Calendar c) {

System.out.print(c.get(Calendar.YEAR));

System.out.print("-");

System.out.print(c.get(Calendar.MONTH) + 1);

System.out.print("-");

System.out.print(c.get(Calendar.DAY_OF_MONTH));

System.out.print(" ");

System.out.print(c.get(Calendar.HOUR_OF_DAY));

System.out.print(":");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值