java时间工具,根据当前日期动态获取日期

 

根据日期需要,设计、实现动态生成日期工具类

传递参数为字符串,长度共八位,用英文,分割,前六位分别代表年月日时分秒,-1,代表当前列-1,正数则表示增加
0,年相加相减响应数值
0,月相加相减响应数值
0,日相加相减响应数值
0,时相加相减响应数值
0,分相加相减响应数值
0,秒相加相减响应数值
0,0代表对时分秒不做处理,1时分秒固定为00:00:00,2时分秒固定为23:59:59
0,日期格式:0--yyyy-MM-dd HH:mm:ss
                  1--yyyy-MM-dd
                  2--HH:mm:ss
                  3--yyyy-MM-dd HH:mm:ss:SSS

public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss,yyyy-MM-dd HH:mm:ss:SSS";	
public static String getTime(Object obj) throws Exception {
		String result = null;
		try {
			String string = (String) obj;
			String[] s = string.split(",");
			Calendar c = Calendar.getInstance();
			c.add(Calendar.YEAR, Integer.parseInt(s[0]));
			c.add(Calendar.MONTH, Integer.parseInt(s[1]));
			c.add(Calendar.DAY_OF_MONTH, Integer.parseInt(s[2]));
			c.add(Calendar.HOUR_OF_DAY, Integer.parseInt(s[3]));
			c.add(Calendar.MINUTE, Integer.parseInt(s[4]));
			c.add(Calendar.SECOND, Integer.parseInt(s[5]));
			if (Integer.parseInt(s[6]) == 1) {
				c.set(Calendar.HOUR_OF_DAY, 0);
				c.set(Calendar.MINUTE, 0);
				c.set(Calendar.SECOND, 0);
			}
			if (Integer.parseInt(s[6]) == 2) {
				c.set(Calendar.HOUR_OF_DAY, 23);
				c.set(Calendar.MINUTE, 59);
				c.set(Calendar.SECOND, 59);
			}
			Date time = c.getTime();
			SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT.split(",")[Integer.parseInt(s[7])]);
			result = sdf.format(time);
		} catch (Exception e) {
			throw new Exception("时间配置错误");
		}
		return result;
	}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值