MIDP中对日期时间的简单转换

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

MIDP的Date和Calendar类都是J2SE的精简版,也没有SimpleDateFormat之类的格式化类,因此,写了一个简单的DateTime类实现本地日期和时间的格式化。

package com.crackj2ee.midp.util;

import Java.util.*;

public final class DateTime {

private static String[] WEEKDAYS = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};

public final String timeZone;

public final int year;

public final int month;

public final int day;

public final int weekday;

public final int hour;

public final int minute;

public final int second;

public DateTime(Date date, String timeZone) {

this.timeZone = timeZone;

Calendar c = timeZone==null ? Calendar.getInstance() : Calendar.getInstance(TimeZone.getTimeZone(timeZone));

c.setTime(date);

year = c.get(Calendar.YEAR);

month = c.get(Calendar.MONTH);

day = c.get(Calendar.DAY_OF_MONTH);

weekday = c.get(Calendar.DAY_OF_WEEK);

hour = c.get(Calendar.HOUR_OF_DAY);

minute = c.get(Calendar.MINUTE);

second = c.get(Calendar.SECOND);

}

public DateTime(long time, String timeZone) {

this(new Date(time), timeZone);

}

public Date toDate() {

Calendar c = Calendar.getInstance(TimeZone.getTimeZone(timeZone));

c.set(Calendar.YEAR, year);

c.set(Calendar.MONTH, month);

c.set(Calendar.DAY_OF_MONTH, day);

c.set(Calendar.HOUR_OF_DAY, hour);

c.set(Calendar.MINUTE, minute);

c.set(Calendar.SECOND, second);

return c.getTime();

}

public String toDateString() {

return year + "-" + (month+1) + "-" + day + "(" + WEEKDAYS[weekday-1] + ")";

}

public String toTimeString() {

return hour + ":" + minute + ":" + second;

}

public String toString() {

return toDateString() + " " + toTimeString();

}

}

示例:

输出当前日期和时间:new DateTime(new Date(), "GMT+8").toString();

转换到Date对象:toDate();

注意,要指定时区,否则时间永远是GMT标准时间。可以在Windows时区设置中查询,北京时间是"GMT+8"

(出处:http://www.knowsky.com)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航