网上科普有关“java 实现判断时间早晚(如6:00:00 晚于 4:00:00)”话题很是火热,小编也是针对java 实现判断时间早晚(如6:00:00 晚于 4:00:00)寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。
写一个比较时间的方法?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的实现版。
希望对你有帮助。
问一下java里面timestamp时间类型的怎么比较大小,比如说我想判断我的time是不是在18点以后,该怎么写
一种思路:用 SimpleDateFormat 来处理,可以转成long形式的,那是1970年1月1日起到现在的毫秒数。可以直接比大小了。
另外一种思路:因为你这里是用的补全格式(7月写成了07),那么可以直接字面转了比较
public static void main(String[] _s) {
String str1 = "2010-07-16 12:00:00";
long longstr1 = Long.valueOf(str1.replaceAll("[-\\s:]",""));
System.out.println(longstr1);
}
这个结果是20100716120000,就这个意思,直接字面转成long形式后比
Java计算两个日期时间相差几天,几小时,几分钟等
先转成 Calendar, 再取其中的 HOUR_OF_DAY 这个域, 看是否大于 18
比如
Timestamp ts = new Timestamp(System.currentTimeMillis());
Calendar cal = Calendar.getInstance();
cal.setTime(ts);
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
两个 Timestamp 本身可以直接比, 它实现了 Comparable 接口的.
思路是先计算两个日期相差的毫秒数,然后分别根据每天的毫秒数、每小时的毫秒数、每分钟的毫秒数来计算相差几天,几小时,几分钟。具体代码如下:
public static String getDatePoor(Date endDate, Date nowDate) {
long nd = 1000 * 24 * 60 * 60;//每天毫秒数
long nh = 1000 * 60 * 60;//每小时毫秒数
long nm = 1000 * 60;//每分钟毫秒数
long diff = endDate.getTime() - nowDate.getTime();?// 获得两个时间的毫秒时间差异
long day = diff / nd;? // 计算差多少天
long hour = diff % nd / nh;?// 计算差多少小时
long min = diff % nd % nh / nm;? // 计算差多少分钟
return day + "天" + hour + "小时" + min + "分钟";
}
然后做一个测试,调用这个方法测试一下:
可以看出两个日期时间相差几天,几小时,几分钟都可以算出来。
扩展资料:
Java使用以下三种方法来比较两个日期:
1、使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
2、使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
3、使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。
参考资料:
Oracle官方API接口-Util-Date
Oracle官方API接口-SimpleDateFormat
菜鸟教程-Java 日期时间
关于“java 实现判断时间早晚(如6:00:00 晚于 4:00:00)”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!
本文来自作者[新筠]投稿,不代表小熊号立场,如若转载,请注明出处:https://xx-scm.com/cshi/202604-178740.html
评论列表(4条)
我是小熊号的签约作者“新筠”!
希望本篇文章《java 实现判断时间早晚(如6-00-00 晚于 4-00-00)》能对你有所帮助!
本站[小熊号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育
本文概览:网上科普有关“java 实现判断时间早晚(如6:00:00 晚于 4:00:00)”话题很是火热,小编也是针对java 实现判断时间早晚(如6:00:00 晚于 4:00:00...