我的Date对象的实际IPhone和Iphone CN1模拟器值会有所不同,这会在尝试对其进行其他格式化时产生下游错误(并期望它们以特定格式)。 我正在使用Codenameone SimpleDateFormat类将值为'20180201 23:59:00'的字符串(但在对象中)转换为java.util.Date对象。 我的代码如下:
public static java.util.Date ObjectToDate(Object datestr) {
if (datestr == null) {
return null;
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
try {
return simpleDateFormat.parse(String.valueOf(datestr));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
我将转换的值放入屏幕字段,以便我可以验证它,使用: (已将对象本身替换为执行object.toString()返回的日期字符串) DateFormatting.ObjectToDate(“20180201 23:59:00”)。toString() 然后我回来了
在模拟器中: 2月1日星期二23:59:00 GMT 2018
在Actual iphone上我得到: 2018年2月1日
为什么呢?我原本以为它与我用com.codename1.l10n.SimpleDateFormat类格式化它的格式相同。 非常感谢
答案 0 :(得分:1)
请确保您使用SimpleDateFormat
包中的com.codename1.l10n
而不是java.text
中的follow
来提高平台之间的一致性。