Java中常见日期的处理方法(+1-1)

在MyBatis映射文件中要表明映射类型
在使用字段的时候也要标明类型 #{modified_date,jdbcType=TIMESTAMP}、 #{date,jdbcType=DATE}
只精确到天,时分秒都为0 实体的属性设置成Timestamp就会对应MySQL /lib.csdn.net/base/mysql>的DateTime类型, Date会对应mysql的Date类型

根据条件修改某张表的交易时间为指定的交易日期:
update T_CIF_GROWTH_CAL_LIST t set t.txn_time=to_date(‘2017-06-07’,‘yyyy-mm-dd’) where t.biz_type=‘01’;

A在当前月份的基础上减1获取前一个月的当前时间:
int preconQueueMonth = -1;
Date preconQueueDate =DateUtil.add(DateUtils.getFormatDate(new Date(), “yyyyMMdd”), Calendar.MONTH,preconQueueMonth);
/日期转换getFormatDate方法/
public static Date getFormatDate(Date date, String format) {
Date newDate = null;
if (date != null) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
try {
newDate = sdf.parse(sdf.format(date));
} catch (ParseException e) {
throw new BusinessException(“BBPF0025”, “日期转换”);
}
}
return newDate;

}

B在当前日期的基础上加1并且把他转化为yyyy-MM-dd的格式:
Date txnDate = DateUtils.plusDay(1, new Date());
param.put(“txnDate”, DateUtils.getFormatDate(txnDate, “yyyy-MM-dd”));
/指定日期后面再加天数plusDay方法/
public static Date plusDay(int num, Date oriDate) {
Calendar ca = Calendar.getInstance();
ca.setTime(oriDate);
ca.add(Calendar.DATE, num);
Date currentDate = ca.getTime();
return currentDate;
}

C解决日期区间查询的解决办法:
第一步:在对应的PO类里面添加startDate endDate这两个属性并且给其getter和setter方法
private Date startDate;
private Date endDate;
第二步:在对应的mybatis配置文件中添加如下代码:

AND T1.REG_TIME >=#{startDate,jdbcType=TIMESTAMP} AND T1.REG_TIME <= #{endDate,jdbcType=TIMESTAMP}

D:获取两个日期的时间间隔
public static Long getDaysInterval(Date d1, Date d2) {
SimpleDateFormat sdf = new java.text.SimpleDateFormat(“yyyyMMdd”);
Date d3 = null; Date d4 = null;
try {
d3 = sdf.parse(sdf.format(d1));
d4 = sdf.parse(sdf.format(d2));
} catch (ParseException e) {
throw new BusinessException(“BCIF0011”, “日期转换”);
}
return (d4.getTime() - d3.getTime()) / DbConstants.COMMON_DATE_SECOND;
}
E:判断当前日期是否过期:
public static boolean chekTimeIsPast(String preconTime) {
boolean flag = false;
if (!StringUtils.isBlank(preconTime)) {
int preconInt = Integer.parseInt(preconTime.substring(0, 2));
int curHour = new Date().getHours();
if (preconInt >= curHour) {
flag = true;
}
} else {
flag = true;
}
return flag;
}

F:获取当前系统时间
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

G:根据时间工具类里面的方法获取当前时间:
Date date = ParamContext.getSysConf(null).getPreDate();

你可能感兴趣的:(时间格式转换)