格式化时间、Date.after和Date.before的用法、

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);
}

你可能感兴趣的:(格式化时间、Date.after和Date.before的用法、)