我有一个从一些国际化实用程序中检索的 SimpleDateFormat 对象。解析日期很好,但我希望能够向我的用户显示格式提示,例如“MM/dd/yyyy”。有没有办法从 SimpleDateFormat 对象中获取格式化模式?
问问题
26740 次
4 回答
36
返回描述此日期格式的模式字符串。
于 2010-05-03T21:51:21.337 回答
6
如果您只需要获取给定语言环境的模式字符串,则以下内容对我有用:
/* 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 是这里的关键。
于 2012-01-08T05:10:33.350 回答
5
使用toPattern()
或toLocalizedPattern()
方法。
于 2010-05-03T21:50:15.653 回答
4
import java.text.SimpleDateFormat;
public class Sdf {
public static void main( String [] args ) {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
String patternToUse = sdf.toPattern();
System.out.println( patternToUse );
}
}
于 2010-05-03T21:55:07.653 回答