java对时间操作的常用总结

1:java的时间比较
String s1="2008-01-25 09:12:09";
String s2="2008-01-29 09:12:11";
java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Calendar c1=java.util.Calendar.getInstance();
java.util.Calendar c2=java.util.Calendar.getInstance();
try{
   c1.setTime(df.parse(s1));
   c2.setTime(df.parse(s2));
}catch(java.text.ParseException e){
   System.err.println("格式不正确");
}
int result=c1.compareTo(c2);
if(result==0)
   System.out.println("c1相等c2");
else if(result<0)
   System.out.println("c1小于c2");
else

   System.out.println("c1大于c2");

2:java中Date与String的相互转化
这种转换要用到java.text.SimpleDateFormat类  
字符串转换成日期类型:  
方法1:  
也是最简单的方法 Date date=new Date("2008-04-14");  
方法2:  
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//小写的mm表示的是分钟  
String dstr="2008-4-24";  
java.util.Date date=sdf.parse(dstr);  
  
日期转换成字符串:  
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
java.util.Date date=new java.util.Date();  
String str=sdf.format(date);

3:获取当前系统时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
System.out.println(df.format(new Date()));    // new Date()为获取当前系统时间

4:java判断某个时间是否在系统当天时间范围内

public class currentDateUtil {
    /**
     * 是否是今天
     *
     * @param date
     * @return
     */
    public static boolean isToday(final Date date) {
        return isOrNo(date, currentDateUtil.now());
    }
    /**
     * 是否是指定日期
     *
     * @param date
     * @param day
     * @return
     */
    public static boolean isOrNo(final Date date, final Date day) {
        return date.getTime() >= currentDateUtil.dayBegin(day).getTime()
                && date.getTime() <= currentDateUtil.dayEnd(day).getTime();
    }
    /**
     * 获取指定时间的那天 00:00:00.000 的时间
     *
     * @param date
     * @return
     */
    public static Date dayBegin(final Date date) {
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        c.set(Calendar.HOUR_OF_DAY, 0);
        c.set(Calendar.MINUTE, 0);
        c.set(Calendar.SECOND, 0);
        c.set(Calendar.MILLISECOND, 0);
        return c.getTime();
    }
    /**
     * 获取指定时间的那天 23:59:59.999 的时间
     *
     * @param date
     * @return
     */
    public static Date dayEnd(final Date date) {
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        c.set(Calendar.HOUR_OF_DAY, 23);
        c.set(Calendar.MINUTE, 59);
        c.set(Calendar.SECOND, 59);
        c.set(Calendar.MILLISECOND, 999);
        return c.getTime();
    }
    /**
     * 获取当前时间
     */
    public static Date now(){
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
        try {
            return df.parse(df.format(new Date()));// new Date()为获取当前系统时间
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值