获得日本年名

时间:2017-06-28 02:24:19

标签: java localization

我有一个程序来获取日文字符年份名称:

y: 平成1年
yy: 平成01年
yyy: 平成001年
yyyy: 平成元年

在eclipse控制台中打印就是这种情况,这就是我想要的。

y: Heisei1年
yy: Heisei01年
yyy: Heisei001年
yyyy: Heisei1年

但是当我制作一个罐子时,cmd运行它,输出就变成了这个:

$taulu[] = "Ahola";
$taulu[] = "AL-mara";
$taulu[] = "Aalto";
$taulu[] = "A. Pek";

sort($taulu);

foreach ($taulu as $rivi)
{
  echo "$rivi<br />";
}

不知道为什么会这样,我想得到汉字。 请帮我。 感谢。

1 个答案:

答案 0 :(得分:0)

我运行以下测试用例:

@Select("SELECT A.PERSON_ID,A.PERSON_ADDRESS, C.CUSTOMER_NAME," + 
    "       B.CUSTOMER_DOB," + 
    "   FROM PERSON A, CUSTOMER B, CUSTOMER_DETAILS C" + 
    "  WHERE A.CUSTOMER_ID=C.CUSTOMER_ID" + 
    "  AND A.CUSTOMER_ID=B.CUSTOMER_ID (+)" + 
    "  AND C.PERSON_NAME=#{personName, jdbcType=VARCHAR, mode=IN, javaType=String}" + 
    "  AND C.CUSTOMER_ID=#{customerID, jdbcType=VARCHAR, mode=IN, javaType=String}")

并在JDK 8和JDK 11中获得以下输出:

    Locale WAREKI_LOCALE = new Locale("ja", "JP", "JP");
    TimeZone tz = TimeZone.getTimeZone("JST");
    Calendar jcal = Calendar.getInstance(tz, WAREKI_LOCALE);

    SimpleDateFormat sdf = new SimpleDateFormat("GGGG y-MM-dd zzz", WAREKI_LOCALE);
    sdf.setCalendar(jcal);
    SimpleDateFormat sdf2 = new SimpleDateFormat("GGGG y-MM-dd zzz", Locale.UK);
    System.out.println("got = " + sdf.format(1549556043201L) + " (" + sdf2.format(1549556043201L) + ")");

    System.out.println("got = " + sdf.format(-1357544756799L) + " (" + sdf2.format(-1357544756799L) + ")");

另请参阅:
https://github.com/twosigma/OpenJDK/blob/master/test/jdk/java/util/Calendar/SupplementalJapaneseEraTest.java