我试图转换日期时间Mon Apr 18 22:56:10 GMT+05:30 2016
。
我必须将其转换为区域设置hi-IN (Hindi)
。
我执行以下步骤:
Date time = "Mon Apr 18 22:56:10 GMT+05:30 2016";
String dateTimeFormat = "dd MMM yyyy hh:mm aa";
SimpleDateFormat sdfgmt = new SimpleDateFormat(dateTimeFormat, new Locale("hi","IN"));
sdfgmt.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(sdfgmt.format(time));
我得到的输出是,只有月份被翻译。其他数字,AM / PM字段仍未翻译。
任何人都可以为此提供解决方案。我已经浏览了许多类似的帖子,并按照以下链接中的步骤操作: How to change date time language in android
注意:我实际上是在Android应用中使用上面的代码段。
提前致谢。
答案 0 :(得分:2)
以下是我的工作方式
// Initial date time in String forma†
String timeOrg = "Mon Apr 18 22:56:10 GMT+05:30 2016";
// Corresponding date format
String dateTimeFormatOrg = "EEE MMM dd hh:mm:ss z yyyy";
// SimpleDateFormat using US locale to be able to parse "Mon Apr"
SimpleDateFormat sdfgmtOrg = new SimpleDateFormat(dateTimeFormatOrg, Locale.US);
// Parse the date
Date time = sdfgmtOrg.parse(timeOrg);
// Target date format
String dateTimeFormat = "dd MMM yyyy hh:mm aa";
// SimpleDateFormat using the target locale
SimpleDateFormat sdfgmt = new SimpleDateFormat(dateTimeFormat, new Locale("hi","IN"));
// Set the Time Zone to UTC
sdfgmt.setTimeZone(TimeZone.getTimeZone("UTC"));
// Print the formatted date
System.out.println(sdfgmt.format(time))
<强>输出:强>
१८ अप्रैल २०१६ ०५:२६ अपराह्न