java.text.ParseException: unparseable date: "11:49:28 முற்பகல்"



如果在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");

相关内容

最新更新