Calendar 的 set() 下午时间相差十二小时

锦瑟ꦿ 2014-04-12 02:11:39
做一个定时器;但是下午时间为第二天的,代码如下:
public class test {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println("现在时间:"+cal.getTime());
String time="13:00:00";//预定时间:
String[] str = time.split(":");
if(str.length>0){
cal.set(Calendar.HOUR, Integer.parseInt(str[0]));
}
if(str.length>1){
cal.set(Calendar.MINUTE, Integer.parseInt(str[1]));
}
if(str.length>2){
cal.set(Calendar.SECOND, Integer.parseInt(str[2]));
}
System.out.println("预定时间:"+cal.getTime());
}

--------------------------
结果:
现在时间:Sat Apr 12 14:08:06 CST 2014
预定时间:Sun Apr 13 01:00:00 CST 2014

结果:
...全文
354 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
-江沐风- 2014-04-12
  • 打赏
  • 举报
回复
public class test
{
	public static void main(String[] args)
	{
		Calendar cal = Calendar.getInstance();
		System.out.println("现在时间:" + cal.getTime());
		String time = "01:00:00";// 预定时间:
		String[] str = time.split(":");
		if (str.length > 0)
		{
			cal.set(Calendar.HOUR, Integer.parseInt(str[0]));
		}
		if (str.length > 1)
		{
			cal.set(Calendar.MINUTE, Integer.parseInt(str[1]));
		}
		if (str.length > 2)
		{
			cal.set(Calendar.SECOND, Integer.parseInt(str[2]));
		}
		System.out.println("预定时间:" + cal.getTime());
	}
}
把13点改为1点,看一下源代码吧,源代码中说的很清楚,HOUR用于12小时制,中午和午夜用 0 表示,不用 12 表示;
锦瑟ꦿ 2014-04-12
  • 打赏
  • 举报
回复
Calendar 的 set() 时间相差十二小时

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧