使用SimpleDateFormat

时间:2018-02-02 01:02:08

标签: codenameone

我的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类格式化它的格式相同。 非常感谢

1 个答案:

答案 0 :(得分:1)

请确保您使用SimpleDateFormat包中的com.codename1.l10n而不是java.text中的follow来提高平台之间的一致性。