java-如何使用ERA设置日语的英语日期格式

前端之家收集整理的这篇文章主要介绍了java-如何使用ERA设置日语的英语日期格式 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我希望新的日语ERA日期为“ R010501”,而我却得到“ R151”.

我正在使用com.ibm.icu.text.DateFormat包来获取日期格式


Date dtEngDate = new SimpleDateFormat("yyyy-MM-dd").parse("2019-05-01");

com.ibm.icu.util.Calendar japaneseCalendar = new com.ibm.icu.util.JapaneseCalendar();

        com.ibm.icu.text.DateFormat japaneseDateFormat = japaneseCalendar.getDateTimeFormat(
                 com.ibm.icu.text.DateFormat.SHORT,-1,Locale.JAPAN);      

        String today = japaneseDateFormat.format(dtEngDate);
System.out.println("today is:" +today.replaceAll("/",""));

输出:今天是-> R151.
预期输出:今天是-> R010501

最佳答案
除了我之外,我不知道您到底做了什么,但是我只是从http://www.java2s.com/Code/Jar/c/Downloadcomibmicu442jar.htm下载com.ibm.icu库,基本上复制了您的代码.

import com.ibm.icu.text.DateFormat;
import com.ibm.icu.util.Calendar;
import com.ibm.icu.util.JapaneseCalendar;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Main {

    public static void main(String[] args) throws ParseException {
        Date dtEngDate = new SimpleDateFormat("yyyy-MM-dd").parse("2019-05-01");
        Calendar japaneseCalendar = new JapaneseCalendar();
        DateFormat japaneseDateFormat = japaneseCalendar.getDateTimeFormat(DateFormat.SHORT,Locale.JAPAN);
        String today = japaneseDateFormat.format(dtEngDate);
        System.out.println("today is: " + today.replaceAll("/",""));
    }

}

我今天要得到的是:平成310501作为控制台输出,我想这就是您想要的.因此,我猜您的com.ibm.icu-4.4.2.jar出了问题.

也许考虑从我使用的链接中尝试下载最新版本,并将其添加到模块/项目依赖项中.

猜你在找的Java相关文章