Java 不同设备上的Android时间格式问题
这两次相同,但在不同的设备中看起来格式不同。使用remi note4 time1格式和三星j7 time2格式进行测试。 如果我使用的是默认时间格式为“time1”的设备,那么我无法将字符串格式“time2”转换为时间戳。记录器显示无法解析日期。如何解决这个问题?Java 不同设备上的Android时间格式问题,java,android,timestamp,datetime-format,time-format,Java,Android,Timestamp,Datetime Format,Time Format,这两次相同,但在不同的设备中看起来格式不同。使用remi note4 time1格式和三星j7 time2格式进行测试。 如果我使用的是默认时间格式为“time1”的设备,那么我无法将字符串格式“time2”转换为时间戳。记录器显示无法解析日期。如何解决这个问题? 注意:要转换的时间是以JSON字符串格式从服务器获取的。您可以先将其转换为相同的格式,然后进行如下解析: String time1= "12:45 PM"; Device1 default format , String time2=
注意:要转换的时间是以JSON字符串格式从服务器获取的。您可以先将其转换为相同的格式,然后进行如下解析:
String time1= "12:45 PM"; Device1 default format ,
String time2= "12:45 p.m."; Device2 default format
您可以使用这个modify_time_2将其转换为时间。我的另一个问题得到了以下问题的确切答案。如果有人想知道,请参考以下链接。这可能与每个设备的默认区域设置有关。检查是否使用java.util.Locale类,在每个设备上查看Locale.getDefault的结果,它们可能会不同,因此您需要根据它们的区域设置对每个设备进行解析和格式化。另外,我不清楚从服务器接收到的值是多少,以及要转换为什么格式。转换为“长”型时间戳。我还有一个疑问。。如果我用相同的时间将两个字符串类型转换为时间戳,时间戳是否相同?如果此长时间戳是从epoch 1907-01-01T00:00Z开始的毫秒数,则需要所有日期和时间字段day、monty、year、hour、minutes、seconds(可选秒的分数)和时区。由于只有小时和分钟,您无法获得此时间戳值。另一个改进的问答解决了此问题。
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");