我有一个 12 小时格式的时间值 (hh:mm:ss a)。现在我想用给定的语言本地化 "a"(AM/PM) 的值
I have a time value which is in 12 hrs format(hh:mm:ss a). Now I want to localize value of "a"(AM/PM) in given language
英文时间值为 02:34:23 AM。
现在,如何在 español(墨西哥)中获取本地化时间值,即在 "es-mx" 中,AM 值也使用 java 本地化。
我尝试使用 SimpleDateFormat.getTimeInstance(int style, Locale aLocale)
。但只有时间值正在本地化,AM/PM 仍然是英文。
注意:本地化值也应采用 "hh:mm:ss a" 格式。
有人可以帮我吗..
LocalePlanet 解释显示 AM/PM es_MX 的格式相同。
http://www.localeplanet.com/java/es-MX/index.html
仍然需要更改一种可能的方式来编写包装器方法以将 AM/PM 替换为所需的字符串。
public static String dateConverter(Date date) {
Locale locale = new Locale("es", "MX");
DateFormat dateFormat = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale);
String newDate = dateFormat.format(date).replaceAll("AM","myAM").replaceAll("PM","myPM");
return newDate
}
当您尝试格式化 dates/times 进行转换时,您必须解析输入,这需要两个 DateFormat
对象。一个用于设置输入,另一个用于解析输入。要了解我如何使用 "HH:mm:ss"
和 KK:mm a
格式化 String input
,请参阅日期和时间模式 here.
您提到您希望它的格式专门针对墨西哥。 AM/PM 墨西哥的时间格式与 en
相同,它们使用 12 小时制时间格式。但是,如果您希望将其格式化为 a. m.
,只需将 es_MX
更改为 es
。更多信息 here.
public static void main(String[] args) throws ParseException
{
String input = "02:34:23";
DateFormat inputFormat = new SimpleDateFormat("HH:mm:ss");
DateFormat outputFormat = new SimpleDateFormat("'Time:' KK:mm a", Locale.forLanguageTag("es_MX"));
System.out.println(outputFormat.format(inputFormat.parse(input)));
}
使用 es
而不是 es_MX
时的输出:
Time: 02:34 a. m.
英文时间值为 02:34:23 AM。
现在,如何在 español(墨西哥)中获取本地化时间值,即在 "es-mx" 中,AM 值也使用 java 本地化。
我尝试使用 SimpleDateFormat.getTimeInstance(int style, Locale aLocale)
。但只有时间值正在本地化,AM/PM 仍然是英文。
注意:本地化值也应采用 "hh:mm:ss a" 格式。
有人可以帮我吗..
LocalePlanet 解释显示 AM/PM es_MX 的格式相同。
http://www.localeplanet.com/java/es-MX/index.html
仍然需要更改一种可能的方式来编写包装器方法以将 AM/PM 替换为所需的字符串。
public static String dateConverter(Date date) {
Locale locale = new Locale("es", "MX");
DateFormat dateFormat = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale);
String newDate = dateFormat.format(date).replaceAll("AM","myAM").replaceAll("PM","myPM");
return newDate
}
当您尝试格式化 dates/times 进行转换时,您必须解析输入,这需要两个 DateFormat
对象。一个用于设置输入,另一个用于解析输入。要了解我如何使用 "HH:mm:ss"
和 KK:mm a
格式化 String input
,请参阅日期和时间模式 here.
您提到您希望它的格式专门针对墨西哥。 AM/PM 墨西哥的时间格式与 en
相同,它们使用 12 小时制时间格式。但是,如果您希望将其格式化为 a. m.
,只需将 es_MX
更改为 es
。更多信息 here.
public static void main(String[] args) throws ParseException
{
String input = "02:34:23";
DateFormat inputFormat = new SimpleDateFormat("HH:mm:ss");
DateFormat outputFormat = new SimpleDateFormat("'Time:' KK:mm a", Locale.forLanguageTag("es_MX"));
System.out.println(outputFormat.format(inputFormat.parse(input)));
}
使用 es
而不是 es_MX
时的输出:
Time: 02:34 a. m.