【发布时间】:2017-12-24 14:48:46
【问题描述】:
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 字符串格式从服务器获取的。
【问题讨论】:
-
这可能与每个设备的默认语言环境有关。检查使用
java.util.Locale类,查看Locale.getDefault()在每台设备上的结果,它们可能会有所不同,因此您需要根据它们的语言环境解析和格式化每一个。另外,我不清楚您从服务器收到的值是什么以及您要转换为什么格式。 -
转换为“长”类型时间戳。我还有一个疑问..如果我将两种字符串类型都转换为同一时间的时间戳,时间戳是否相同?
-
如果这个
long时间戳是“从纪元开始的毫秒数(1907-01-01T00:00Z”,那么你需要所有的日期和时间字段(天、蒙蒂、年、小时、分钟、秒)(可选秒的分数)和时区)。只有小时和分钟,你不能得到这个时间戳值。 -
另一个改进的问答解决了问题。 Problem solved. Click here for reference
标签: java android timestamp datetime-format time-format