如何使用SimpleDateFormat将日期转换为马拉地语?

时间:2014-02-21 09:55:37

标签: simpledateformat

如何使用SimpleDateFormat日期转换为马拉地语? 我尝试使用以下代码:

SimpleDateFormat df = new SimpleDateFormat("EEEE, dd MMM yyyy",new Locale("mr", "mr_IN"));
String newDate = df.format(d);

但它不起作用。

1 个答案:

答案 0 :(得分:0)

两个观察结果。 首先我认为您的Locale构造函数未正确使用。而不是:

new Locale("mr", "mr_IN")

你应该尝试

new Locale("mr", "IN")

说明:构造函数需要将两个大字母中的ISO-3166国家/地区代码作为第二个参数(并且作为第一个参数使用两个小写字母的ISO-639语言代码),请参阅Javadoc。

<强>第二

在我的系统上,我使用Locale.getAvailableLocales()打印出所有可用的语言环境,但是看到语言环境“mr_IN”并不幸运。我希望你有一个更好的本地化Java配置。如果马拉地语语言本身不受支持,那么您最终可以尝试以下方法:

DateFormatSymbols dfs =
  DateFormatSymbols.getInstance(new Locale("mr", "IN"));
dfs.setShortMonths(marathiMonthsAsArray);
dfs.setWeekdays(marathiWeekdays);

simpleDateFormat.setDateFormatSymbols(dfs);

请仔细构建具有适当长度和指数的马拉地语语言数组 - 仔细研究javadoc以避免一些陷阱。完成此操作后,您可以将您的SimpleDateFormat代码作为marathi本地化运行。