给定的日期加若干小时

/**
     * @desc 给定的日期加若干小时 格式为:2015-01-22 09:01:52 
     * @author : LMK
     * @date : Jan 21, 2015 4:52:02 PM
     * @param strdate
     * @param days
     * @return
     */
    public static String addSomeHour(String strdate,int hours){
    Date date = new Date(); // 构造一个日期型中间变量   
        String dateresult = null; // 返回的日期字符串   
        // 创建格式化格式   
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
        // 加减日期所用   
        GregorianCalendar gc = new GregorianCalendar();   
        try {   
            date = df.parse(strdate); // 将字符串格式化为日期型   
        } catch (ParseException e) {   
            e.printStackTrace();   
        }   
        gc.setTime(date); // 得到gc格式的时间   
        gc.add(GregorianCalendar.HOUR_OF_DAY, hours);
        // 把运算完的时间从新赋进对象   
        gc.set(gc.get(gc.YEAR), gc.get(gc.MONTH), gc.get(gc.DATE),gc.get(gc.HOUR_OF_DAY),gc.get(gc.MINUTE),gc.get(gc.SECOND));   
        // 在格式化回字符串时间   
        dateresult = df.format(gc.getTime());   
        return dateresult;   

    }


/**
     * @desc 给定的日期加若干小时(支持小数) 格式为:2015-01-22 09:01:52 
     * @author : LMK
     * @date : Jan 28, 2015 2:16:18 PM
     * @param strDate
     * @param hours
     * @return
     */
    public static Date addSomeHours(String strDate,float hours)
    {
    	SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	try {
			Date oldDate = df.parse(strDate);
			Long mills = oldDate.getTime();
			mills += hours*60*60*1000;
			Date newDate = new Date(mills);
			return newDate;
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return null;
    }
    
    public static Date addSomeHours2(String strDate,float hours)
    {
    	try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			Calendar cal = Calendar.getInstance();
			cal.setTime(df.parse(strDate));
			Float f = new Float(hours*60);
			cal.add(Calendar.MINUTE, f.intValue());
			return cal.getTime();
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return null;
    }
    
    public static void main(String[] args) {
		System.out.println(addSomeHours("2015-01-21 14:14:24", 1f));
		System.out.println(addSomeHour("2015-01-21 14:14:24", 1));
		System.out.println(addSomeHours2("2015-01-21 14:14:24", 1f));
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值