java的time类型_java有关Time类型数据的接收和转换

本文介绍了在Java中处理`Time`类型时遇到的问题,包括对象引用导致的时间同步错误,以及时间的转换和计算方法。通过示例代码展示了如何将长整型转换为`Time`,`Date`与`Time`之间的转换,以及时间的加减操作。文章强调了时间转换的复杂性,并分享了解决这些问题的经验。
摘要由CSDN通过智能技术生成

一:前言

有关Time的时间其实很少有用到。但是用到就很纠结了,转换和保存,都是烦人的事情,我自己就在这上面吃过一个亏,所以就加载下来吧!

二:内容

(1):被坑的地方

实体类

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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

测试代码

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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

这里打印出来会看到开始时间和结束时间变成一样的了。

e8913b9c10a68cbb49de513375acf284.png

这个时候,你就会觉得这里的时间怎么变成一样了。说白了Time还是一个对象,那么在改变对象之后,对象的数据就改变了,那么startTime也就随之改变了。所以这里需要重新包装下

44671293330dd14bcaccb2df92bc9e3c.png

(二)有关在接口上面接收Time类型数据

我自己测试的就是app端传入长整形的数据,后台可以直接用Time接收,再进行转换如下

Time time=new Time(Long.valueOf(receive));//receive是接收到的长整形数据

(三)有关时间的转换和计算

(1)有关Date--->Time---->Long之间的转换

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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):有关时间的加减

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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月三十号毕业答辩啊,我的论文和系统都还没有做,真是烦人啊。希望自己今晚可以把页面给写好。努力

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值