首页 > 学院 > 开发设计 > 正文

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

2019-11-18 16:06:15
字体:
来源:转载
供稿:网友

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.VeVb.com)



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表