本文介紹了如何使用SimpleDateFormat在句子大小寫中格式化西班牙語月份?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
這是我的代碼:
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.text.SimpleDateFormat;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
SimpleDateFormat date = new SimpleDateFormat("dd-MMM-yyyy", new Locale("es","ar"));
System.out.println(date.format(new Date(2014-1900,0,1)));
}
}
上述代碼返回
01-ene-2014
但是,月份應為大小寫,即Ene
有人能幫我解決如何不使用子字符串獲取01-Ene-2014
嗎?
推薦答案
這不是錯誤。
SimpleDateFormat根據本地規則使用月份名稱和大小寫。
在英語月份中,第一個字母大寫的Apper在英語語法規則中是強制性的。
在西班牙語中是不一樣的。必須使用月份名稱作為小寫。Java使用本地規則。這些西班牙語規則例如由RAE(皇家西班牙語學院)
定義
此外,無法使用您自己的規則創建自定義區域設置,但您可以使用DateFormatSymbols類將月份名稱重寫為您自己的名稱。
DateFormatSymbols sym = DateFormatSymbols.getInstance(baseLocale);
sym.setShortMonths(new String[]{"Ene","Feb","Mar", /* and others */ });
new SimpleDateFormat(aPattern, sym);
完整示例:http://ideone.com/R7uoW0
這篇關于如何使用SimpleDateFormat在句子大小寫中格式化西班牙語月份?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,