我正在使用挥杆框架和小程序。
如果我将地区设置为en_US
,则时间显示在AM和PM中。
如果我将语言环境设置为ms_MY
,则时间显示在Pagi和patang中。如何更改挥杆时间格式
如何在使用区域设置ms_MY
时在上午和下午显示时间?
请帮我
我正在使用挥杆框架和小程序。
如果我将地区设置为en_US
,则时间显示在AM和PM中。
如果我将语言环境设置为ms_MY
,则时间显示在Pagi和patang中。如何更改挥杆时间格式
如何在使用区域设置ms_MY
时在上午和下午显示时间?
请帮我
我猜你使用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对象或
你能解释你如何与SimpleDateFormat的语言环境绑定? – Xorty 2010-06-01 08:13:59
什么是你用来显示给定时间
Locale
对象(其中,显然,只有DateFormatSymbols
将被使用)? – Gnoupi 2010-06-01 06:13:09只需0.02美元。并非每种语言环境支持都以AM,PM格式显示时间。很多地区以24小时的方式格式化时间。 – 2010-06-02 10:29:32