1、fastJson是这种注解
@JsonFiled(format = "yyyy-MM-dd")
2、jackson是这样的
@JsonFormat(pattern=“yyyy/MM/dd”,timezone=“GMT+8”)
@DateTImeFormat(pattern=“yyyy/MM/dd”)
注解 @JsonFormat 主要是后台到前台的时间格式的转换
注解 @DareTimeFormat主要是前台到后台的时间格式化的转换
当返回实体类的时候,使用该注解 @JsonFormat 就可以直接转的,而我们项目里一般不按实体类返回,而是返回map集合
第一种:在xml里面给时间字段加:
DATE_FORMAT(e.applicationDate,'%Y/%m/%d') as applicationDate,
第二种,返回的map集合,转集合里的map里的时间字段格式
返回的map集合,转集合里的map的里的时间格式:
List<Map<String, Object>> entryAuditRecordList = entryAuditRecordService.listMaps(qw);
//updateDate applicationDate的TimeStamp时间格式转为 yyyy/MM/dd
SimpleDateFormat sdf= new SimpleDateFormat("yyyy/MM/dd");//定义日期类型格式
//遍历entryAuditRecordList集合,改变集合里的每一个map里面的时间
entryAuditRecordList.forEach((map) -> {
Object updateDate = map.get("updateDate");
Object applicationDate = map.get("applicationDate");
String updateDateFormat = sdf.format(updateDate);//转换为字符串
String applicationDateFormat = sdf.format(applicationDate);//转换为字符串
map.put("updateDate", updateDateFormat);
map.put("applicationDate", applicationDateFormat );
});
JSONObject格式的这样操作转:
JSONObject json = JSONObject.parseObject(JSON.toJSONStringWithDateFormat(machine,"yyyy/MM/dd", SerializerFeature.WriteDateUseDateFormat));
另: 判断时间是否过期
// 查询公司过期时间
String toDateStr = loginMapper.queryCompanyToDate(user.getCompanyId());
if(!StringUtils.isBlank(toDateStr)){
//项目中封装的有转时间类型的工具类,注意一下
LocalDate toDate = DateUtil.stringToDate(toDateStr, "yyyy/MM/dd");
//Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;
//Date1.before(Date2),当Date1小于Date2时,返回TRUE,当大于等于时,返回false;
//当过期时间小于当前时间,说明该企业已经过期
if(toDate.isBefore(LocalDate.now())){
return ReturnUtil.result(3,"该企业已过期", createToken(user));
}
}
另:SimpleDateFormat中parse和format的区别
parse() 返回的是一个Date类型的数据,format返回的是一个StringBuffer类型的数据
//SimpleDateFormat中的parse方法可以
//把String型的字符串转换成特定格式的date类型
public static void main(String[] args) {
String str = "2013-01-21 15:10:20";
Date date = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH:mm:ss");
try {
date = sdf.parse(str);
} catch (ParseException e) {
System.out.println(e.getMessage());
}
System.out.println(date);
System.out.println(date.getTime());
}
//SimpleDateFormat中的format方法可以
//把Date型的字符串转换成特定格式的String类型
public static void main(String[] args){
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
String a=dateformat.format(new Date());
System.out.println("时间:"+a);
}