java实现将“yyyy-MM-dd”格式字符串转化成“yyyy年MM月dd日”格式
可写入工具类,直接调用即可:
public static String getChinaDate(String str) {
try {
if(str==null ){
return getChinaCurrentDate();
}
str = str.trim();
String year = "";
String month = "";
String day = "";
// System.out.println("==="+str);
if(str==null || str.equals("null") || str.equals("")){
return getChinaCurrentDate();
}
else if (str.indexOf("年") > 0||str.indexOf("月") > 0||str.indexOf("日") > 0) {
return str;
}
else {
if (str.length() == 10 && (str.indexOf("-") > 0)) { // by meconsea add str.indexOf("-") > 0
year = str.substring(0, 4);
month = str.substring(5, 7);
day = str.substring(8, 10);
}
else if (str.length() == 8) {
year = str.substring(0, 4);
month = str.substring(4, 6);
day = str.substring(6, 8);
}
else if (str.length() == 6) {
year = str.substring(0, 4);
month = str.substring(4, 6);
}
if (day.equals(""))
str = year + "年" + month + "月";
else
str = year + "年" + month + "月" + day + "日";
}
}
catch (Exception e) {
e.printStackTrace();
}
return str;
}
public static String getChinaCurrentDate() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String str_date = dateFormat.format(Calendar.getInstance().getTime());
str_date = str_date.substring(0, 4) + "年" + str_date.substring(4, 6) + "月" +
str_date.substring(6, 8) + "日 ";
return str_date;
}
public static void main(String[] args){
System.out.println(getChinaDate("2021-05-16"));
}
运行打印结果:2021年05月16日