java 实现判断时间早晚(如6:00:00 晚于 4:00:00)

单纯比较时间,与日期无关。为的是做定时任务,不需要年月日的比较。... 单纯比较时间,与日期无关。
为的是做定时任务,不需要年月日的比较。
展开
 我来答
邗启3V
推荐于2017-09-07 · TA获得超过7271个赞
知道大有可为答主
回答量:1413
采纳率:100%
帮助的人:1389万
展开全部

写一个比较时间的方法 DateCompare给你,具体看注释,在main方法里面有测试:

import java.text.SimpleDateFormat;
import java.util.Date;


public class TEST {

/**
 * @param args
 * @throws Exception 
 */
public static void main(String[] args) throws Exception {
//例如比较当前时间和早上6:00
String nowTime = new SimpleDateFormat("HH:MM").format(new Date());
System.out.println("当前时间为:"+nowTime);
System.out.println("与当日06:00相比");
int i = DateCompare(nowTime,"06:00","HH:MM");
switch (i) {
case 0:
System.out.println("两个时间相等");
break;
case 1:
System.out.println("当前时间晚于06:00");
break;
case -1:
System.out.println("当前时间早于06:00");
break;
default:
break;
}

}
/**
 * 根据时间类型比较时间大小 
 * 
 * @param source
 * @param traget
 * @param type "YYYY-MM-DD" "yyyyMMdd HH:mm:ss"  类型可自定义
 * @param 传递时间的对比格式
 * @return 
 *  0 :source和traget时间相同    
 *  1 :source比traget时间大  
 *  -1:source比traget时间小
 * @throws Exception
 */
public static int DateCompare(String source, String traget, String type) throws Exception {
int ret = 2;
SimpleDateFormat format = new SimpleDateFormat(type);
Date sourcedate = format.parse(source);
Date tragetdate = format.parse(traget);
ret = sourcedate.compareTo(tragetdate);
return ret;
}
}

该方法可以转换时间、日期、具体什么格式可以自定义,

另外如果你是需要做定时任务,推荐使用quartz有java的实现版。

希望对你有帮助。

匿名用户
2014-01-09
展开全部
import java.util.Calendar;
public class test {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println(c.get(Calendar.HOUR_OF_DAY));
}
}
把时间转化为Calenda类型,然后 get(Calendar.HOUR_OF_DAY) 就得到小时了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天外落云
2014-01-09 · TA获得超过295个赞
知道答主
回答量:127
采纳率:0%
帮助的人:59.8万
展开全部
Calendar类中有after(Object when)方法
判断此 Calendar 表示的时间是否在指定 Object 表示的时间之后,返回判断结果。
before(Object when) 方法
判断此 Calendar 表示的时间是否在指定 Object 表示的时间之前,返回判断结果。
可以试一下!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友784eb94
2014-01-09 · TA获得超过377个赞
知道小有建树答主
回答量:205
采纳率:100%
帮助的人:166万
展开全部
可以用SimpleDateFormat类设置格式的时间显示参数,然后根据你自己的条件进行比较判断就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b5222c3
2014-01-09 · 超过19用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:48.4万
展开全部
SimpleDateFormat.parse(String).getTime() 应该是这个 转成long比较大小就行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式