关闭

j2me中获取系统时间并转换成字符串格式

721人阅读 评论(0) 收藏 举报
来源:zjsjava的专栏 - CSDNBlog

  学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 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13456次
    • 积分:226
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:8篇
    • 译文:0篇
    • 评论:3条
    最新评论