CLDC规范规定设备只需要支持其默认的GMT时区。在KVM的实现中,支持GMT和UTC两种时区表示。
Calendar类:
Calendar类是抽象类,没有直接的构造方法,要构造一个默认的Calendar对象必须调用静态方法getInstance()。下面列出了Calendar对象不同的构造方法:
Calendar cal = Calendar.getInstance();
TimeZone timezone = new TimeZone();
Calendar cal = Calendar.getInstance(timezone);
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
在Date类的介绍中提到过,Date类中不能提取时间的一部分,而和Calendar类一起使用就可以很容易的完成Date对象的分解和加减等的运算。
Calendar类不能以字符串的形式返回年月日,因为CLDC没有包含java.text包。在KVM的实现中,只能通过toString()方法获得形如Sat, 9 Apr 2005 12:00:00 UTC的字符串。不同的虚拟机的实现可能会返回不同格式的字符串。
Timer和TimerTask类:
MIDP通过Timer和TimerTask类提供了一种实现简单的多任务调度执行的方法,调度由一个专门的后台线程完成。其中,TimerTask 是用户定义的需要被调度的所有任务的抽象基类。Timer 类在任务执行的时候负责创建和调度执行线程。这些调度由Timer类的schedule()和scheduleAtFixedRate()方法来完成,而run() 方法用来执行各个任务。此外每个 正在执行的任务必须能够尽快的终止,因为每个 Timer 对象在同一时间只能执行一个任务。