字符串⽇期转换成需要的格式的字符串⽇期(超强)
字符串⽇期 转换成 需要的格式的 字符串⽇期
调⽤:dateformat(String pattern,Object date, boolean ifNullGetNow);
参数1:patern:你想要的⽇期格式,如:“yyyyMMddHHmmss”,“yyyy-MM-dd HH:mm:ss”,“MMdd”,“yyyy/MM/dd
HH:mm:ss”,“dd”,显⽰单个或多个,都⽀持,你想要什么给什么。如果你给个年1989,你想要年⽉⽇时分秒,后⾯补0
参数2:date:你想要转的⽇期字符串,这⾥是Object是为了⽀持数据库查出来在map⾥是Object格式。如果你是date格式或者其他类型的,这种特殊类型你可以⽤其他的转换⽅法,这⾥只⽀持正常数据库保存的字符串格式。这个参数可以为空,传空,不报错,后台返回给你个""空串。此时,你想如果为空返回当前时间的你要的格式。没问题,最后⼀个参数控制。
参数3:ifNullGetNow :如果为空获取当前时间。如果你传的⽇期不为空,你还想要当前时间,不好意思,没有。如果你⽇期传了空,想要当前时间,这个字段传true,如果不想要当前时间,那么传false,我返回空串。
/**
* 传⼊⽇期格式和⽇期,返回⽬标⽇期String
* @description ⽇期格式转换,从⼀种string⽇期格式转换成⽬标string⽇期格式
* @param pattern 需要转换的⽇期格式
* @param date 需要转换的⽇期如"2005-11:07.11/22:55" "2005-11:07.11/22:55" "2005-11-07"
* @param ifNullGetNow 如果为空或空串,true获取当前时间的需要格式,如果为false,返回date
* @return String ⽬标字符串⽇期格式
* @author LLZ
* @date 2021年7⽉26⽇
*/
public static String dateformat(String pattern,Object date,boolean ifNullGetNow){
if(date ==null||"".equals(date)){
if(ifNullGetNow){
return new SimpleDateFormat(pattern).format(new Date());
}else{
return"";
}
}
String dateStr = String();
//将⾮⽇期的分隔符去掉
dateStr = place("-","").replace(":","").replace(" ","").replace("/","").replace(".","");
//yyyyMMddHHmmss 使⽤这个14位的作为标准格式
int length =14- dateStr.length();
// 不⾜14位补0
if(length >0){
dateStr = dateStr + String.format("%0"+ length +"d",0);
}
Date temp;
try{
temp =new SimpleDateFormat("yyyyMMddHHmmss").parse(dateStr);//转换成yyyyMMddHHmmss统⼀格式,拿到Date格式
return new SimpleDateFormat(pattern).format(temp);//把Date格式再格式化为pattern格式的字符串⽇期
}catch(ParseException e){
string转date的方法
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
⽹上有很多,不合格,要么不兼容,要么⿇烦的要死,写个简单的分享给⼤家。兼容性很⾼。给我个字符串⽇期,然后给我你想要的格式如yyyy-MM-dd或yyyyMMddHHmm或MMdd等等,然后我返回给你这个格式的字符串⽇期。
我⾃⼰写的⾃⼰很满意,如果为空,你要是要当前时间的,传个true,我给你当前时间的你要的⽇期,如果不要,我传空串给你,也不会报错,也不会抛异常。nice,代码简洁,通⽤性强,易达到⽬的,且性能好。反正我⾃⼰⽤的⾮常爽。
调⽤⽅法:dateformat(“yyyy-MM-dd HH:mm:ss”,dateString,false);//时间为空的时候,false不要当前时间,true要当前时间。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论