j2me中对时间处理的方法 TextFieldWithItemStateListenerMIDlet.java

import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

import javax.microedition.global.Formatter;
import javax.microedition.lcdui.DateField;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.ItemStateListener;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;


public class TextFieldWithItemStateListenerMIDlet extends MIDlet implements ItemStateListener {

private Display display;

private TextField name;
private TextField tel;
private TextField summary;
private DateField date;
private DateField datetime;
private DateField time;
private TextField datedisplay;

public TextFieldWithItemStateListenerMIDlet(){
display = Display.getDisplay(this);
}

protected void destroyApp(boolean arg0) {
}

protected void pauseApp() {
}

protected void startApp() {
Form f = new Form("TextField测试");
name = new TextField("姓名","",8,TextField.ANY);
tel = new TextField("电话","",14,TextField.PHONENUMBER);
summary = new TextField("总结","",30,TextField.UNEDITABLE);
date = new DateField("日期",DateField.DATE,TimeZone.getTimeZone("GMT+8:00"));
datetime = new DateField("日期时间",DateField.DATE_TIME,TimeZone.getTimeZone("GMT+8:00"));
time = new DateField("时间",DateField.TIME,TimeZone.getTimeZone("GMT+8:00"));
datedisplay = new TextField("时间","",50,TextField.UNEDITABLE);

System.out.println(datetime.getDate());

f.append(name);
f.append(tel);
f.append(summary);
f.append(date);
f.append(datetime);
f.append(time);
f.append(datedisplay);
f.setItemStateListener(this);
display.setCurrent(f);
}

public void itemStateChanged(Item item) {
summary.setString("");
datedisplay.setString("");
if(item == name){
summary.setString("输入的姓名为:"+name.getString());
}else if(item == tel){
summary.setString("输入的电话为:"+tel.getString());
}else if(item == date){
Calendar cal = Calendar.getInstance();
cal.setTime(date.getDate());
datedisplay.setString(new Formatter().formatDateTime(cal, Formatter.DATE_SHORT));
}else if(item == datetime){
Date dt = datetime.getDate();

long t = dt.getTime();

long shicha = 8*60*60*1000;

dt.setTime(dt.getTime()+shicha);

Calendar cal = Calendar.getInstance();
cal.setTime(dt);

Calendar da = Calendar.getInstance();

Date d = new Date();

d.setTime(d.getTime()+shicha);

da.setTime(d);

long dat = d.getTime();
System.out.println(t-dat);
System.out.println(TextFieldWithItemStateListenerMIDlet.getSystemDateTime(dt));
System.out.println(new Formatter().formatDateTime(da, Formatter.DATETIME_SHORT));

datedisplay.setString(new Formatter().formatDateTime(da, Formatter.DATETIME_SHORT));
}else if(item == time){
Calendar cal = Calendar.getInstance();
cal.setTime(time.getDate());
datedisplay.setString(new Formatter().formatDateTime(cal, Formatter.TIME_SHORT));
}
}

private static String getSystemDateTime(Date d){
Calendar ca =Calendar.getInstance(TimeZone.getTimeZone("GMT+8:00"));
ca.setTime(d);
int year = ca.get(Calendar.YEAR);
int month = ca.get(Calendar.MONTH)+1;
int date = ca.get(Calendar.DATE);
int hour = ca.get(Calendar.HOUR_OF_DAY);
int minute = ca.get(Calendar.MINUTE);
int second = ca.get(Calendar.SECOND);
String yearStr = String.valueOf(year);
String monthStr = String.valueOf(month);
String dateStr = String.valueOf(date);
String hourStr = String.valueOf(hour);
String minuteStr = String.valueOf(minute);
String secondStr = String.valueOf(second);
if(month<10){
monthStr="0"+monthStr;
}
if(date<10){
dateStr="0"+dateStr;
}
if(hour+8<10){
hourStr="0"+hourStr;
}
if(minute<10){
minuteStr="0"+minuteStr;
}
if(second<10){
secondStr="0"+secondStr;
}

return yearStr+"-"+monthStr+"-"+dateStr+" "+hourStr+":"+minuteStr+":"+secondStr;
}

public static void main(String[] args){
System.out.println(getSystemDateTime(new Date()));
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值