一:前言
有关Time的时间其实很少有用到。但是用到就很纠结了,转换和保存,都是烦人的事情,我自己就在这上面吃过一个亏,所以就加载下来吧!
二:内容
(1):被坑的地方
实体类
import java.sql.Time; public class Student { private Time startTime; private Time endTime; public Time getStartTime() { return startTime; } public void setStartTime(Time startTime) { this.startTime = startTime; } public Time getEndTime() { return endTime; } public void setEndTime(Time endTime) { this.endTime = endTime; } }
测试代码
public static void main(String[] args) throws ParseException { Student s=new Student(); 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()); }
这里打印出来会看到开始时间和结束时间变成一样的了。
这个时候,你就会觉得这里的时间怎么变成一样了。说白了Time还是一个对象,那么在改变对象之后,对象的数据就改变了,那么startTime也就随之改变了。所以这里需要重新包装下
(二)有关在接口上面接收Time类型数据
我自己测试的就是app端传入长整形的数据,后台可以直接用Time接收,再进行转换如下
Time time=new Time(Long.valueOf(receive));//receive是接收到的长整形数据
(三)有关时间的转换和计算
(1)有关Date--->Time---->Long之间的转换
package com.wuhao.alltime; import java.sql.Time; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class AllTime { public static void main(String[] args) { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d=new Date(); //Date ---->long long dateToLong=Long.valueOf(d.getTime()); System.out.println(dateToLong); //Date--->Time Time time=new Time(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=new Date(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(); } } }
有关时间的转换还是很麻烦的。
(2):有关时间的加减
package com.wuhao.alltime; import java.sql.Time; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class DatePlus { public static void main(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(); } } }
(三)总结
时间的转换转换多了就还是不错的,总的去进行尝试的。5月三十号毕业答辩啊,我的论文和系统都还没有做,真是烦人啊。希望自己今晚可以把页面给写好。努力