日期时间工具类

//获取指定日期的前后几天的日期。day为正数代表后几天,负数代表前几天的日期。	
public String getDay(Date date,int day) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		int d = c.get(Calendar.DATE);
		c.set(Calendar.DATE, d+day);
		String dayBefore=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); 
		return dayBefore;
	}
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * 日期及时间工具,日期时间计算及日期时间格式化
 * @author jamesli
 * @version 1.0 
 * @date 2015/5/13 9:24
 */
public class DateTimeUtils implements Cloneable{
    /**
     * Year
     */
    public static final int YEAR_UNIT = 0;
    /**
     * Month
     */
    public static final int MONTH_UNIT = 1;
    /**
     * Day
     */
    public static final int DAY_UNIT = 2;
    /**
     * Houre
     */
    public static final int HOURE_UNIT = 3;
    /**
     * Minute
     */
    public static final int MINUTE_UNIT = 4;
    /**
     * yyyy-MM-dd HH:mm:ss 格式
     */
    public static final String DEFAULT_DATE_TIME_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss";
    /**
     * yyyy-MM-dd HH:mm 格式
     */
    public static final String DEFAULT_DATE_TIME_HHmm_FORMAT_PATTERN = "yyyy-MM-dd HH:mm";
    /**
     * yyyy-MM-dd HH 格式
     */
    public static final String DEFAULT_DATE_TIME_HH_FORMAT_PATTERN = "yyyy-MM-dd HH";
    /**
     * yyyy-MM-dd 格式
     */
    public static final String DEFAULT_DATE_FORMAT_PATTERN = "yyyy-MM-dd";
    /**
     * HH:mm:ss 格式
     */
    public static final String DEFAULT_TIME_FORMAT_PATTERN = "HH:mm:ss";
    /**
     * HH:mm 格式
     */
    public static final String DEFAULT_TIME_HHmm_FORMAT_PATTERN = "HH:mm";
    /**
     * 年
     * <p>可以通过DateTime.now().get(DateTime.YEAR_FIELD)来获取当前时间的年</p>
     */
    public static final int YEAR_FIELD = Calendar.YEAR;
    /**
     * 月
     * <p>可以通过DateTime.now().get(DateTime.MONTH_FIELD)来获取当前时间的月</p>
     */
    public static final int MONTH_FIELD = Calendar.MONTH;
    /**
     * 日
     * <p>可以通过DateTime.now().get(DateTime.DAY_FIELD)来获取当前时间的日</p>
     */
    public static final int DAY_FIELD = Calendar.DATE;
    /**
     * 小时 <p>可以通过DateTime.now().get(DateTime.HOUR_FIELD)来获取当前时间的小时</p>
     */
    public static final int HOUR_FIELD = Calendar.HOUR_OF_DAY;
    /**
     * 分钟 <p>可以通过DateTime.now().get(DateTime.MINUTE_FIELD)来获取当前时间的分钟</p>
     */
    public static final int MINUTE_FIELD = Calendar.MINUTE;
    /**
     * 秒
     * <p>可以通过DateTime.now().get(DateTime.SECOND_FIELD)来获取当前时间的秒</p>
     */
    public static final int SECOND_FIELD = Calendar.SECOND;
    /**
     * 毫秒 <p>可以通过DateTime.now().get(DateTime.MILLISECOND_FIELD)来获取当前时间的毫秒</p>
     */
    public static final int MILLISECOND_FIELD = Calendar.MILLISECOND;
    private Calendar c;   //日历类

    /**
     * 获取一个DateTime,此DateTime尚未初始化,表示的时间是1970-1-1 00:00:00.000
     * <p>要获取当前系统时间,请用DateTime.now();</p>
     */
    public DateTimeUtils() {
        c = Calendar.getInstance();
        c.clear();
    }

    /**
     * 设置时间 <p>可以传入一个时间对象,将会被转换为DateTime类型</p>
     *
     * @param date 时间对象
     */
    public DateTimeUtils(Date date) {
        c = Calendar.getInstance();
        c.setTime(date);
    }

    /**
     * 设置时间 <p>可以传入一个日历对象,将会被转换为DateTime类型</p>
     *
     * @param calendar 日历对象
     */
    public DateTimeUtils(Calendar calendar) {
        this.c = calendar;
    }

    /**
     * 获取当前系统时间
     *
     * @return DateTime 当前系统时间
     */
    public static DateTimeUtils now() {
        Calendar calendar = Calendar.getInstance();
        return new DateTimeUtils(calendar);
    }

    /**
     * 用毫秒来设置时间, 时间的基数是1970-1-1 00:00:00.000; <p>比如,new DateTime(1000)
     * 则表示1970-1-1 00:00:01.000;<br> 用负数表示基础时间以前的时间</p>
     *
     * @param milliseconds 毫秒
     */
    public DateTimeUtils(long milliseconds) {
        c = Calendar.getInstance();
        c.setTimeInMillis(milliseconds);
    }

    /**
     * 转换为Date类型
     *
     * @return Date时间
     */
    public Date toDate() {
        return c.getTime();
    }

    /**
     * 转换成 日历对象
     *
     * @return Calendar对象
     */
    public Calendar toCalendar() {
        return c;
    }

    /**
     * 转换成java.sql.Date(yyyy-MM-dd)日期
     *
     * @return java.sql.Date日期
     */
    public java.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值