您的位置:首页 > 其它

j2me中如何使用Calendar获取系统时间并转换成字符串格式

2007-09-04 21:31 786 查看
学J2ME的人应该都知道并不是JDK里类的方法都能在J2ME API中存在,有些时候我们却要自己手动实现一个类似于JDK 里的类方法,无非就是J2ME里没有此API方法.

Calendar 类是一个抽象类,它为特定瞬间与一组诸如
YEAR
MONTH
DAY_OF_MONTH
HOUR
日历字段
之间的转换提供了一些方法.正是利用这些方法实现以下功能:

TimeZone tz = TimeZone.getDefault();

/**取系统默认市区,这里有一个问题需要注意的是,WTK下的市区本真机上或者系统时间差8小时,这个是时区问题.真

*机上测试就不会有这个8小时差距的
Calendar ca = Calendar.getInstance(tz);

//Calendar 的
getInstance
方法返回一个
Calendar
对象,其日历字段已由当前日期和时间初始化
String strYear=String.valueOf(ca.get(Calendar.YEAR));//获取当前年时间并转为字符串型
String strMonth=String.valueOf(ca.get(Calendar.MONTH)+1);//获取当前月时间并转为字符串型

//ca.get(Calendar.MONTH)+1为什么加一是因为,0表示1月,1表示2月,依次类推
String strDate=String.valueOf(ca.get(Calendar.DATE));//获取当前日时间并转为字符串型
String SysDate=null;
if((ca.get(Calendar.MONTH)+1)<=9&&ca.get(Calendar.DATE)<=9)
{
SysDate=strYear+"0"+strMonth+"0"+strDate;
}else
if((ca.get(Calendar.MONTH)+1)>9&&ca.get(Calendar.DATE)>9)
{
SysDate=strYear+strMonth+strDate;
}else
if((ca.get(Calendar.MONTH)+1)<=9&&ca.get(Calendar.DATE)>9)
{
SysDate=strYear+"0"+strMonth+strDate;
}else
if((ca.get(Calendar.MONTH)+1)>9&&ca.get(Calendar.DATE)<=9)
{
SysDate=strYear+strMonth+"0"+strDate;
}

System.out.println(SysDate);

输出结果:20070904
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: