2017-07-19 145 views
-4
String time1= "12:45 PM"; Device1 default format , 
String time2= "12:45 p.m."; Device2 default format 

這兩個時間是相同的,但在不同的設備中看起來不同的格式。用remi note4(time1格式)和Samsung j7(time2格式)進行測試。 如果我使用默認時間格式'time1'的設備,那麼我不能將字符串格式'time2'轉換爲timestamp。記錄器顯示無法解析日期。如何解決這個問題? 注意:要轉換的時間是以JSON字符串格式從服務器獲取的。不同設備上的Android時間格式問題

+0

可能這與每個設備的默認語言環境有關。檢查使用'java.util.Locale'類,在每個設備上查看'Locale.getDefault()'的結果,它們可能會有所不同,所以你需要根據它們的區域設置來解析和格式化每一個設備。另外,我不清楚從服務器接收的價值以及要轉換的格式。 – 2017-07-19 11:48:05

+0

轉換爲'長'型時間戳。我還有一個疑問..如果我同時將兩個字符串類型轉換爲時間戳,時間戳會是相同的嗎? –

+0

如果這個「long」時間戳是「從曆元('1907-01-01T00:00Z'」)開始的毫秒數,那麼你需要所有的日期和時間字段(日,星期,年,時,分,秒)秒)和時區)**只有**小時和分鐘,你不能得到這個時間戳值 – 2017-07-20 11:58:38

回答

-1

我的另一個問題得到了以下問題的確切答案。如果有人想知道請參考以下鏈接。Refer following link

1

您可以先將其轉換爲相同的格式,那麼你會喜歡解析:

String time1= "12:45 PM"; 
String time2= "12:45 p.m."; 

String modify_time_2 = time2.replace("p.m.","PM").replace("pm","PM").replace("p m","PM"); 

您可以使用此modify_time_2其轉換時間。