Java如何得到时间格式dd-MMM-yy???
通常我们的时间格式是大都是yyyy-MM-dd或者yyyy/MM/dd格式,但是在生产环境中也有碰到各种
各样的时间格式,比如今天就碰到了澳门香港那边的时间格式很多是日-月-年,有的是阿拉伯数字加
月份英文缩写,比如10 Sep 20代表是2020-09-10,根据需求,我简单写了一个时间工具类,在
写代码的过程学习与进步。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
/**
* @author ZhouChao
* Describe: 时间工具
*/
public class DateUtil {
/** 通用格式
* 时间格式 yyyy-MM-dd
* 2020-09-30
*/
public String DataFomart(String timeStr){
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");//需要改动格式改这个就行了
Date date=null;
try {
//parse 把字符串解析成时间
date=format.parse(timeStr);
//format 把时间解析成字符串
String timeStr1=format.format(date);
return timeStr1;
} catch (ParseException e) {
e.printStackTrace();
}
// String timeStr1=format.format(date);
return null;
}
/**
* 英语式时间格式 dd MMM yy
* 30 Sep 20
*/
public String DataTrsEn(String timeStr){
String timeStr1=timeStr;
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
//Locale里面还有其他国家的时间转换方法,如US
SimpleDateFormat format1=new SimpleDateFormat("dd MMM yy", Locale.ENGLISH);
Date date= null;
try {
//parse String转换成date
date = format.parse(timeStr1);
} catch (ParseException e) {
e.printStackTrace();
}
String InterNationalTime=format1.format(date);
return InterNationalTime;
}
public static void main(String[] args){
//Test
String date1=new DateUtil().DataFomart("2020-9-10 15:28:34");
String date2=new DateUtil().DataTrsEn("2020-9-10 15:28:34");
System.out.printf(date1+"\n");
System.out.printf(date2);
}
}
输出结果
2020-09-10
10 Sep 20
Process finished with exit code 0