J2ME中的Calendar+Date+TimeZone

之前一直对日期/时间问题发愁,觉得总是有些问题不好处理.但今天理解之后就觉得没什么大不了了.顺便庆贺一下!!

首先,ME中的略去了很多类,包括从SE中保留而来的类方法.简单的一个例子就是:ME中没有SimpleDateFormat这个类,而这个类中的parse()方法简直就是处理日期/日间问题的一个亮点.我认为.所以又得放弃这个理念了,要从ME中想起!

不过,Calendar这个类的功能可以说基本上满足了ME中的所有处理日期/时间转换的问题了.开始我有两个问题一直想不通:1.假如我想在某个时间段产生一个像闹钟的例子.使用Timer+Date觉得不好,起码要解决一个millisecond问题,难道我要从GMT的 1970.1.1.0:00:000算起吗?不可取!于是又得从Calendar中搜索...幸好,其中有个方法set()来设定年,月,日,时,分,秒等等.从而可以直接用getTime()产生一个Date对象.于是就可以方便应用于TimerTask中schedule()中的Date参数了.这样第一个问题解决了.但要注意,这个返回的是+8的TimeZone(唉,怎么我试过几台机,WTK都不支持CST/CCT时区呀,真的麻烦),所以又得要-8才能将当前时间与它参考比较.因为单纯 new Date() 一个对象它是以默认GMT时区的,而系统又不支持CST(中国标准时间吧).才能真正可用.起初我没有注意,试了几下通过Calendar.getTime()与System.currentTimeMillis()比较才发现出来.

(起初我总是以为要经过其中的computeTime()/computeFields()方法将设定的东东重新compute才能生效,但这两方法是protected + abstract的,不好用哦.其实不然,它是处理通过指定数组一次性设定所有Fields的,呵呵, 这个问题闲了我又一会).

2.接下来这个问题就应运而生了,怎样计算一个指一个日子中究竟是星期几哟?之前问了一些网友,有的说得简单,用get(Calendar.DAY_OF_WEEK),但那时没注意,不过确实是这个方法简单;有的则提供了一个古典的算法,昏,不发理解,而且又要处理润年问题.Then ,用前一个方法最终是快捷的.当我在上述中设好日期后(此时可不用设置时间,因为在那一天星期几是不会变的,即使时差依然存在).然后应用get(Calendar.DAY_OF_WEEK)就OK了.快捷!!

好了,又是一上六点的早上,回家又要埋头学了,免了慢了就学得最好也没有意思.最近想设计一个像NOKIA 8210的OS,首先只想用到高级API(因为我只学到这里哦),然后不断学习就不断往那灌附加功能了.这个东东说起来也是有一定的"容量"的,因为要内嵌一些游戏,电话簿,个人设定,日历等.

祝大家学习愉快!!

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值