一:前言
有关Time的时间其实很少有用到。但是用到就很纠结了,转换和保存,都是烦人的事情,我自己就在这上面吃过一个亏,所以就加载下来吧!
二:内容
(1):被坑的地方
实体类
importjava.sql.Time;public classStudent {privateTime startTime;privateTime endTime;publicTime getStartTime() {returnstartTime;
}public voidsetStartTime(Time startTime) {this.startTime =startTime;
}publicTime getEndTime() {returnendTime;
}public voidsetEndTime(Time endTime) {this.endTime =endTime;
}
}
View Code
测试代码
public static void main(String[] args) throwsParseException {
Student s=newStudent();
Time time=new Time(Long.valueOf("41400000"));
s.setStartTime(time);
time.setTime(Long.valueOf("34200000"));
s.setEndTime(time);
System.out.println("开始时间-->"+s.getStartTime());
System.out.println("结束时间--->"+s.getEndTime());
}
View Code
这里打印出来会看到开始时间和结束时间变成一样的了。
这个时候,你就会觉得这里的时间怎么变成一样了。说白了Time还是一个对象,那么在改变对象之后,对象的数据就改变了,那么startTime也就随之改变了。所以这里需要重新包装下
(二)有关在接口上面接收Time类型数据
我自己测试的就是app端传入长整形的数据,后台可以直接用Time接收,再进行转换如下
Time time=new Time(Long.valueOf(receive));//receive是接收到的长整形数据
(三)有关时间的转换和计算
(1)有关Date--->Time---->Long之间的转换
packagecom.wuhao.alltime;importjava.sql.Time;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Locale;public classAllTime {public static voidmain(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d=newDate();//Date ---->long
long dateToLong=Long.valueOf(d.getTime());
System.out.println(dateToLong);//Date--->Time
Time time=newTime(d.getTime());
System.out.println(time);//long---->Time
Time t=new Time((Long.valueOf("1429686000000")));
System.out.println(t.toString());//转换后如:08:30:00
Time t1=new Time((Long.valueOf("1800000")));
System.out.println(t1);//long------>Date
long l=1429686000000l;//最后是个l
Date dd=newDate(l);
System.out.println(dd);
System.out.println(sdf.format(d));//Time--->long
Time times=new Time(1800000);
System.out.println(times.getTime());//Time--->Date
Time timedate=new Time((Long.valueOf("1800000")));
SimpleDateFormat sdfs= new SimpleDateFormat("HH:mm:ss",Locale.getDefault());
Date dates;try{
dates=sdfs.parse(timedate.toString());
System.out.println(dates);
}catch(ParseException e) {
e.printStackTrace();
}
}
}
View Code
有关时间的转换还是很麻烦的。
(2):有关时间的加减
packagecom.wuhao.alltime;importjava.sql.Time;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Locale;public classDatePlus {public static voidmain(String[] args) {
String aa="2015-04-28 12:00:00";
String bb="2015-04-28 15:30:00";
SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf= new SimpleDateFormat("HH:mm:ss",Locale.getDefault());try{
Date d1=sd.parse(aa);
Date d2=sd.parse(bb);//一秒等于1000毫秒,再除以60就是分钟,在除以60就是小时
double c=(d2.getTime()-d1.getTime())/(60*1000);
System.out.println(c);double hours=c/60;
System.out.println(hours);
System.out.println(c/3600);
}catch(ParseException e) {
e.printStackTrace();
}
}
}
View Code
(三)总结
时间的转换转换多了就还是不错的,总的去进行尝试的。5月三十号毕业答辩啊,我的论文和系统都还没有做,真是烦人啊。希望自己今晚可以把页面给写好。努力