如何使用SimpleDateFormat
将日期转换为马拉地语?
我尝试使用以下代码:
SimpleDateFormat df = new SimpleDateFormat("EEEE, dd MMM yyyy",new Locale("mr", "mr_IN"));
String newDate = df.format(d);
但它不起作用。
答案 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本地化运行。