如何改变挥杆时间格式

时间:2010-06-01 06:09:19

标签: java swing

我正在使用swing框架和applets 如果我将区域设置作为en_US,则时间显示在上午和下午 如果我将“区域设置”作为ms_MY,则时间显示在Pagi和patang中。

使用区域设置ms_MY时,如何在上午和下午显示时间?

请帮帮我

1 个答案:

答案 0 :(得分:3)

我猜您使用DateFormat对象显示时间。我甚至假设您通过调用DateFormat.getTimeInstance()方法获取实例。您必须知道的是,通过各种get * Instance静态方法获得的DateFormat实例与给定的Locale绑定。因此,如果您希望显示AM或PM,则必须将getTimeInstance(int style, Locale aLocale)版本与Locale.en_US一起使用。

但请注意!通过使用此方法,您的日期将以英语显示,因此日期名称将为英语。这真的是你想要的吗?我不知道,无论如何,这就是你得到的。

使用SimpleDateFormat可以提高输出格式的精确度。

编辑更新了SimpleDateFormat的信息。

与我所说的相反,AM和PM可能与非英语小时显示相关联。但是,它不是立竿见影的,因为SimpleDateFormat的四个构造函数中的三个使用Locale obejct来获取它们的信息。混合各种语言信息的唯一方法是使用public SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)构造函数,这将允许您定义自己的DateFormatSymbols实例。构建此对象仅作为练习。

其他三个构造函数使用默认的Locale对象或给定的Locale对象(显然,只使用DateFormatSymbols