日期:2014-05-20  浏览次数:20779 次

[求助!!]在J2ME中进行日期处理,日期从月末变到月初模拟器报错
最近做一个项目,需要用到J2ME的日期处理
结果发现J2ME不支持引入Java.Text.*的内容
也就是说SimpleDataFormat类无法使用了   -_-

无奈之下只好参考网上的某源码,自己写了一个能对Date类进行简单处理的DateParser类

在控制台下进行日期的向前/向后操作没有任何问题
但是在Midlet下(即手机模拟机中)运行就会出问题
出现问题的时间是月末最后一天转换到下一个月第一天的时候

出错信息是:
java.lang.IllegalArgumentException
at   com.sun.cldc.util.j2me.TimeZoneImpl.getOffset(+78)
at   com.sun.cldc.util.j2me.TimeZoneImpl.getOffset(+55)
at   com.sun.cldc.util.j2me.CalendarImpl.computeTime(+227)
at   java.util.Calendar.getTimeInMillis(+11)
at   java.util.Calendar.getTime(+8)



------解决方案--------------------
传参数时出问题了
有些地方参数有问题
------解决方案--------------------
J2me的Calendar中似乎对日期的设置有些bug
------解决方案--------------------
最好对日期的前后移动操作,使用
calendar.setDate(new Date(calendar.getDate().getTime()+offsetDays*24*60*60*1000))