Java和数据库中Date/Timestamp
每次遇到时间问题,都很苦恼,所以整理一下
1.数据库Date,java也用Date
Date就是只有日期,没有时间,插入以后时间是00:00:00
获取指定的时间:
Calendar ca = Calendar.getInstance();//得到一个Calendar的实例
ca.setTime(new Date()); //设置时间为当前时间
//ca.set(2009, 11, 31);//月份是从0开始的,所以11表示12月
ca.add(Calendar.YEAR, -1); //年份减1
//ca.add(Calendar.DATE, -1)
Date lastMonth = ca.getTime(); //结果
2.数据库DataTime,java使用Timestamp
@Data
public class CustomAttributeEntity {
private long customFieldValueId;
private String hasExtendedText;
private String auditComment;
private String propertyBag;
private String isCurrentVersion;
private String batchStatus;
private Timestamp endDt;
private Timestamp effectiveDt;
private Long configurationId;
private Long createActorId;
private Long updateActorId;
private Long checkpointId;
private String fieldName;
private long objectId;
private long tableId;
private String value;
}
设定参数,直接插入
Timestamp effectStamp = new Timestamp(System.currentTimeMillis());
Long endTime = 95617555199000L;
Timestamp endStamp = new Timestamp(endTime);
插入以后就会有日期和时间
3.时间区间
取时间区间:
Timestamp changeTime = new Timestamp(changeIntegrator.getEffTime().getTime());
if (changeTime.before(endStamp) && changeTime.after(effectStamp)) {
//to do something
xxxxxx
}