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日

本文出自萨瓦迪卡博客

本文由站长原创或收集,不代表本站立场,如若转载,请注明出处:http://www.swzhinan.com/post/290.html

本文 暂无 评论

回复给

欢迎点评

联系我们

站长QQ:384827360

站长邮件:384827360@qq.com

工作时间:周一至周五,9:30-15:30,节假日休息

QR code