如果在Android日期中选择了Tamil语言,则AM
应该看起来像"முற்பகல்"
。为此,如何解析日期?
com.carepredict.cp_native W/System.err: java.text.ParseException: Unparseable date: "11:49:28 முற்பகல்" (at offset 9)
02-20 17:19:28.310 22978-22978/com.carepredict.cp_native W/System.err: at java.text.DateFormat.parse(DateFormat.java:579)
at com.carepredict.cp_native.holders.AlertListitemHolder.bindFloors(AlertListitemHolder.java:173)
at com.carepredict.cp_native.adapters.AlertListAdapter.onBindViewHolder(AlertListAdapter.java:41)
at com.carepredict.cp_native.adapters.AlertListAdapter.onBindViewHolder(AlertListAdapter.java:15)
尝试以下操作: -
String myDateString = "13:24:40 முற்பகல்";
String[] splitT = myDateString.split(" ");
LocalTime localTime = LocalTime.parse(splitT[0],
DateTimeFormatter.ofPattern("HH:mm:ss"));
int hour = localTime.get(ChronoField.CLOCK_HOUR_OF_DAY);
int minute = localTime.get(ChronoField.MINUTE_OF_HOUR);
int second = localTime.get(ChronoField.SECOND_OF_MINUTE);
您可以随心所欲地将其添加到字符串中。例如
slplitt [0]是此值" 13:24:40",而splitt [1]将带有您的特殊字符串,即"முற்பகல்"
desiredString = str + splitT[1];
edit : - 分配正确的 vernacular语言时间(一天中的小时或pm(在这种情况下,它的泰米尔语...进行此检查..
if (hour >=12)
{
desiredString = str + "பிற்பகல்" ;// for **pm**
}
else
{
desiredString = str + "முற்பகல்"; // for **am**
}
您需要使用replace
功能,这将有所帮助
使用这样的使用
String date = ("11:49:28 முற்பகல்").replace("முற்பகல்", "am");
String date1 = ("11:49:28 பிற்பகல்").replace("பிற்பகல்", "pm");