2015-12-09 18 views
7
"timestamp_utc": "۲۰۱۵-۱۱-۰۲T۱۸:۴۴:۳۴+۰۰:۰۰" 

là một thuộc tính trong JSON. Làm cách nào để phân tích cú pháp ngày này? Tôi đã thử đoạn mã sau.đọc dấu thời gian ở một ngôn ngữ khác

try 
{ 
    return new DateTime(dateStr, DateTimeZone.UTC); 
} 
catch (IllegalArgumentException e) 
{ 
    java.util.Locale locale = new java.util.Locale("ar", "SA"); 
    DateTimeFormatter formatter = ISODateTimeFormat.dateTime().withLocale(locale); 
    return formatter.parseDateTime(dateStr); 
} 

2015-05-11T11:31:47 Chỉ hoạt động tốt. Tuy nhiên, ۲۰۱۵-۱۱-۰۲T۱۸:۴۴:۳۴+۰۰:۰۰ ném một số IllegalArgumentException. Đã thử phân tích cú pháp ngày tháng với các ngôn ngữ/định dạng khác. Không may mắn.

Locale list[] = DateFormat.getAvailableLocales(); 
     for (Locale aLocale : list) { 
      try{ 
       DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZ").withLocale(aLocale); 
       System.out.println(formatter.parseDateTime(dateStr)); 
      } 
      catch(Exception e){ 
       System.out.println("locale " + aLocale.toString() + " error"); 
      } 
     } 

Hãy giúp tôi.

+0

Đó định dạng dữ liệu có thể chỉ đơn giản là không được hỗ trợ bởi thư viện dữ liệu java, có bạn nhìn vào mã nguồn liệu phân tích arabic được hỗ trợ ? – RAnders00

Trả lời

2

Thêm ký tự không phải tiếng Ả Rập (T) làm cho ngày không phải là tiếng Ả Rập (tôi đã có ý tưởng bằng cách cố gắng dịch nó trong google translate). Thử bên dưới (Thay đổi T để <gian> trong cả hai ngày đầu vào và mô hình):

public static void main (String[] args) throws java.lang.Exception 
{ 
    String ara = "۲۰۱۵-۱۱-۰۲ ۱۸:۴۴:۳۴+۰۰:۰۰"; 
    for (Locale aLocale : DateFormat.getAvailableLocales()) { 
     //Just to save time, not needed. 
     if(aLocale.getLanguage() != "ar") continue; 
     try{ 
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss+SS:SS", aLocale); 
      System.out.println(sdf.parse(ara)); 
     } 
     catch(Exception e){ 
      System.out.println("locale " + aLocale.toString() + " error"); 
     } 
    } 
} 
Các vấn đề liên quan