从 java SimpleDateFormat 获取模式字符串

2022-09-01 15:27:47

我有一个SimpleDateFormat对象,我从一些国际化实用程序中检索到它。解析日期都很好,但我希望能够向我的用户显示格式提示,例如“MM / dd / yyyy”。有没有办法从 SimpleDateFormat 对象获取格式设置模式?


答案 1

SimpleDateFormat.toPattern()

返回描述此日期格式的模式字符串。


答案 2

如果您只需要获取给定区域设置的模式字符串,则以下内容对我有用:

/* Obtain the time format per current locale */

public String getTimeFormat(int longfmt) {
Locale loc = Locale.getDefault();
int jlfmt = 
    (longfmt == 1)?java.text.SimpleDateFormat.LONG:java.text.SimpleDateFormat.SHORT;
    SimpleDateFormat sdf = 
    (SimpleDateFormat)SimpleDateFormat.getTimeInstance(jlfmt, loc);
return sdf.toLocalizedPattern();
}

/* Obtain the date format per current locale */

public String getDateFormat(int longfmt) {
Locale loc = Locale.getDefault();
int jlfmt = 
    (longfmt == 1)?java.text.SimpleDateFormat.LONG:java.text.SimpleDateFormat.SHORT;
    SimpleDateFormat sdf = 
    (SimpleDateFormat)SimpleDateFormat.getDateInstance(jlfmt, loc);
return sdf.toLocalizedPattern();
}

给定区域设置的 getDateInstance 和 getTimeInstance 是这里的关键。


推荐