2010-06-01 105 views
0

我正在使用挥杆框架和小程序。
如果我将地区设置为en_US,则时间显示在AM和PM中。
如果我将语言环境设置为ms_MY,则时间显示在Pagi和patang中。如何更改挥杆时间格式

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

请帮我

+0

什么是你用来显示给定时间Locale对象(其中,显然,只有DateFormatSymbols将被使用)? – Gnoupi 2010-06-01 06:13:09

+0

只需0.02美元。并非每种语言环境支持都以AM,PM格式显示时间。很多地区以24小时的方式格式化时间。 – 2010-06-02 10:29:32

回答

3

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

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

通过使用SimpleDateFormat,您可以获得更好的输出格式精度。

编辑关于SimpleDateFormat的更新信息。

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

其他三个构造函数使用默认Locale对象或

+0

你能解释你如何与SimpleDateFormat的语言环境绑定? – Xorty 2010-06-01 08:13:59