⑴ java中如何比较时间(小时/分/秒)的大小
有两个包里有日期的类型,不知道楼主想用哪个?java.util.Date和java.sql.Timestamp两都可以,后面是面对数据库的,before(),after(),equals()就可以比较两个时间之间的关系了!
××××××××××××××××××××××××××××××××××××××××××××
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date nows=new java.util.Date();
java.util.Date date=dateFormat.parse("2005-09-12 12:36:29");
long hous=(nows.getTime()-date.getTime())/(60*60*1000);
转换成long在比较 可以得到日期相差的时间
×××××××××××××××××××××××××××××××××××××××××××××
date1, date2;
long l1=date1.getTime();
long l2=date2.getTime();
if(l1>l2)
{
//说明date1比较新
}
else if(l1 == l2)
{
//说明date1和date2一样
}
else
{
//说明date2比较新
}
×××××××××××××××××××××××××××××××××××××××××
SimpleDateFormat dateFormat=new SimpleDateFormat(sPatten);
String sText = dateFormat.format(dateValue);
得到sText后你爱怎么比就怎么比呀
sPatten =“yyyy” 取年
sPatten =“MM” 取月
sPatten =“dd” 取日
sPatten =“HH” 取小时
sPatten =“mm” 取分
sPatten =“ss” 取秒
××××××××××××××××××××××××××××××××××××××××××
Date date1 = .....
Date date2 = .....
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
int n1 = Calendar.get(Calendar.DATE);
cal.setTime(date2);
int n2= Calendar.get(Calendar.DATE);
if (n1 == n2) {
}
......
⑵ Java 获取当前时间的小时(24小时制)
使用new Date()获取时间,通过SimpleDateFormat格式化类对Date进行格式话时间。
具体代码如下:注意HH大写代表24小时制。
输出结果:1510416000000,2017-11-12。方便的实现了string转时间的功能。
⑶ 在JAVA中如何判断当前时间是不是整点
System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,用来计算当前毫秒与1970年1月1日之间的毫秒差。
那么我们就可以longtime=System.currentTimeMillis();
然后换算一下小时,发现1小时等于3600s等于3600000ms。
那么我们把这个long类型的time进行一次取余运算。
intmin=time%3600000;
那么只要min的值小于一分钟,即60000ms即可。
if(min<60000)System.out.println("当前时间为整点.");
elseprintln("非整点.");
整体简化代码如下:
if(System.currentTimeMillis()%3600000<60000)System.out.println("当前时间为整点.");
elseprintln("非整点.");
⑷ java中怎么得到当前时间的小时
Date date=new Date();
DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=format.format(date);
⑸ java 实现判断时间早晚(如6:00:00 晚于 4:00:00)
写一个比较时间的方法DateCompare给你,具体看注释,在main方法里面有测试:
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassTEST{
/**
*@paramargs
*@throwsException
*/
publicstaticvoidmain(String[]args)throwsException{
//例如比较当前时间和早上6:00
StringnowTime=newSimpleDateFormat("HH:MM").format(newDate());
System.out.println("当前时间为:"+nowTime);
System.out.println("与当日06:00相比");
inti=DateCompare(nowTime,"06:00","HH:MM");
switch(i){
case0:
System.out.println("两个时间相等");
break;
case1:
System.out.println("当前时间晚于06:00");
break;
case-1:
System.out.println("当前时间早于06:00");
break;
default:
break;
}
}
/**
*根据时间类型比较时间大小
*
*@paramsource
*@paramtraget
*@paramtype"YYYY-MM-DD""yyyyMMddHH:mm:ss"类型可自定义
*@param传递时间的对比格式
*@return
*0:source和traget时间相同
*1:source比traget时间大
*-1:source比traget时间小
*@throwsException
*/
publicstaticintDateCompare(Stringsource,Stringtraget,Stringtype)throwsException{
intret=2;
SimpleDateFormatformat=newSimpleDateFormat(type);
Datesourcedate=format.parse(source);
Datetragetdate=format.parse(traget);
ret=sourcedate.compareTo(tragetdate);
returnret;
}
}
该方法可以转换时间、日期、具体什么格式可以自定义,
另外如果你是需要做定时任务,推荐使用quartz有java的实现版。
希望对你有帮助。
⑹ java如何判断从数据库里取出的时间距当前时间是否超过一小时
一个小时=1000*60*60 毫秒
new java.util.Date().getTime(); 当前时间的毫秒数
用你2个时间的毫秒数相减,大于1000*60*60 ,就查过一小时了
⑺ java如何判断时间的早中晚
先通过System.current获取到当前的系统时间,这是一个long类型,new一个Date ,Date有一个getHours的方法,然后通过小时来判断现在是早中晚,SimpleDateFormat只提供AM/PM两个时间段,所以你只能得到现在是几点,然后再直接判断。
⑻ java判断时间在几点
很简单,你先通过System.current获取到当前的系统时间,这是一个long类型,new一个Date ,
Date有一个getHours的方法,然后通过小时来判断现在是早中晚,因为你说的早中晚没有确切的定义,而且SimpleDateFormat只提供AM/PM两个时间段,所以你只能得到现在是几点,然后在直接判断
⑼ java工时判断
手动设置节假日,以及工资倍数,然后根据员工上班时间,如果跟你设置的有重合,取出重合的计算工时,其他的就按照正常的计算