一:前言

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

二:内容

(1):被坑的地方

实体类

  1. import java.sql.Time;
  2.  
  3. public class Student {
  4. private Time startTime;
  5.  
  6. private Time endTime;
  7.  
  8. public Time getStartTime() {
  9. return startTime;
  10. }
  11.  
  12. public void setStartTime(Time startTime) {
  13. this.startTime = startTime;
  14. }
  15.  
  16. public Time getEndTime() {
  17. return endTime;
  18. }
  19.  
  20. public void setEndTime(Time endTime) {
  21. this.endTime = endTime;
  22. }
  23.  
  24. }

测试代码

  1. public static void main(String[] args) throws ParseException {
  2. Student s=new Student();
  3. Time time=new Time(Long.valueOf("41400000"));
  4. s.setStartTime(time);
  5. time.setTime(Long.valueOf("34200000"));
  6. s.setEndTime(time);
  7. System.out.println("开始时间-->"+s.getStartTime());
  8. System.out.println("结束时间--->"+s.getEndTime());
  9.  
  10. }

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

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

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

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

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

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

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

  1. package com.wuhao.alltime;
  2.  
  3. import java.sql.Time;
  4. import java.text.ParseException;
  5. import java.text.SimpleDateFormat;
  6. import java.util.Date;
  7. import java.util.Locale;
  8.  
  9. public class AllTime {
  10. public static void main(String[] args) {
  11. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  12. Date d=new Date();
  13. //Date ---->long
  14. long dateToLong=Long.valueOf(d.getTime());
  15. System.out.println(dateToLong);
  16.  
  17. //Date--->Time
  18. Time time=new Time(d.getTime());
  19. System.out.println(time);
  20.  
  21. //long---->Time
  22. Time t=new Time((Long.valueOf("1429686000000")));
  23. System.out.println(t.toString());
  24.  
  25. //转换后如:08:30:00
  26. Time t1=new Time((Long.valueOf("1800000")));
  27. System.out.println(t1);
  28.  
  29. //long------>Date
  30. long l=1429686000000l;//最后是个l
  31. Date dd=new Date(l);
  32. System.out.println(dd);
  33. System.out.println(sdf.format(d));
  34.  
  35. //Time--->long
  36. Time times=new Time(1800000);
  37. System.out.println(times.getTime());
  38.  
  39. //Time--->Date
  40. Time timedate=new Time((Long.valueOf("1800000")));
  41. SimpleDateFormat sdfs = new SimpleDateFormat("HH:mm:ss",Locale.getDefault());
  42. Date dates;
  43. try {
  44. dates = sdfs.parse(timedate.toString());
  45. System.out.println(dates);
  46. } catch (ParseException e) {
  47. e.printStackTrace();
  48. }
  49.  
  50. }
  51. }

有关时间的转换还是很麻烦的。

(2):有关时间的加减

  1. package com.wuhao.alltime;
  2.  
  3. import java.sql.Time;
  4. import java.text.ParseException;
  5. import java.text.SimpleDateFormat;
  6. import java.util.Date;
  7. import java.util.Locale;
  8.  
  9. public class DatePlus {
  10. public static void main(String[] args) {
  11. String aa="2015-04-28 12:00:00";
  12. String bb="2015-04-28 15:30:00";
  13. SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  14. SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss",Locale.getDefault());
  15. try {
  16. Date d1=sd.parse(aa);
  17. Date d2=sd.parse(bb);
  18. //一秒等于1000毫秒,再除以60就是分钟,在除以60就是小时
  19. double c=(d2.getTime()-d1.getTime())/(60*1000);
  20. System.out.println(c);
  21. double hours=c/60;
  22. System.out.println(hours);
  23. System.out.println(c/3600);
  24. } catch (ParseException e) {
  25. e.printStackTrace();
  26. }
  27. }
  28. }

(三)总结

时间的转换转换多了就还是不错的,总的去进行尝试的。5月三十号毕业答辩啊,我的论文和系统都还没有做,真是烦人啊。希望自己今晚可以把页面给写好。努力

java有关Time类型数据的接收和转换的更多相关文章

  1. Android java传递string类型数据给C

    本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...

  2. Android java传递int类型数据给C

    本文根据<Android jni简便开发流程>中的开发流程来实现一个java传递int类型数据给C 新建项目,进行简单的布局 <LinearLayout xmlns:android= ...

  3. python基础知识五 各类型数据方法补充,转换,分类,编码+坑中菜

    3.9各类型数据方法补充,转换,分类,编码,坑中菜 3.9.1数据类型方法补充 1.str:不可变 补充方法 s1.capitalize():首字母大写 s1 = "alex" s ...

  4. Java的各类型数据在内存中分配情况详解

    1.      有这样一种说法,如今争锋于IT战场的两大势力,MS一族偏重于底层实现,Java一族偏重于系统架构.说法根据无从考证,但从两大势力各自的社区力量和图书市场已有佳作不难看出,此说法不虚,但 ...

  5. JAVA判断各种类型数据是否为空

    1.判断list是否为空(Map.Set同list) if(list != null && list.size() == 0){ } if(list != null && ...

  6. java通过jdbc连接数据库并更新数据(包括java.util.Date类型数据的更新)

    一.步骤 1.获取Date实例,并通过getTime()方法获得毫秒数: 2.将获取的毫秒数存储到数据库中,注意存储类型为nvarchar(20): 3.读取数据库的毫秒数,作为Date构造方法的参数 ...

  7. java 操作CLOB类型数据

    clob类型,但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足楼主的需求,建议使用varchar2,下面提供了在Java 中读取clob类型的 ...

  8. Java中Byte类型数据在运算中的问题

    比如: byte a=1; byte b=2; byte c; c=a+b; //这样是计算不出c,是错误的 c=a+1; //这样也是不能计算c的 c=64+1; //为什么这样就能计算c,在Jav ...

  9. Java中Double类型数据比较大小

    方法一:转成字符串之后比较 如果要比较的两个double数据的字符串精度相等,可以将数据转换成string然后借助string的equals方法来间接实现比较两个double数据是否相等.注意这种方法 ...

随机推荐

  1. Python3 Tkinter-Canvas

    1.创建 from tkinter import * root=Tk() cv=Canvas(root,bg='black') cv.pack() root.mainloop() 2.创建item f ...

  2. [leetcode-718-Maximum Length of Repeated Subarray]

    Given two integer arrays A and B, return the maximum length of an subarray that appears in both arra ...

  3. Python高级编程-多线程

    (一)进程线程概述: 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统. 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行 ...

  4. Git 命令详解及常用命令

    Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: 1 2 3 4 Work ...

  5. string && 字符数组

    一.string 1. 使用字符串字面值初始化string对象 如:string s1 = "hiya"; string s2("hiya"); 该字面值的最后 ...

  6. Git命令基本操作

    本文从以下九个方面,介绍Git命令的基本操作: 一. Git安装 二. Git基本配置 三. 创建Git仓库 四. 获得Git仓库 五. 提交更新 六. 提交历史查看 七. 远程仓库 八. 打Tags ...

  7. 关于已部署的WCF服务升级的问题

    在日常的开发过程中,我们会经常迭代发布不同的版本,所以WCF服务的接口也会经常处于变动的状态,比如在传递实体类中新加一个字段.修改参数名称等等关于服务升级的问题.但是我们不可能让已发布的版本重新引用新 ...

  8. Redis 学习之常用命令及安全机制

    该文使用centos6.5 64位    redis3.2.8 一.redis常用命令 键值常用命令: 1. keys 返回满足pattern的所有key. 127.0.0.1:6379> ke ...

  9. Visual Studio 2013中使用Ribbon For WPF

    1.首先需要 下载Ribbon For WPF.目前最新的版本是Microsoft Ribbon for WPF October 2010. 下载 链接: https://www.microsoft. ...

  10. 【bzoj4736/uoj#274】[清华集训2016]温暖会指引我们前行 语文题+LCT

    题目描述 http://uoj.ac/problem/274 题解 语文题+LCT 对于这种语文题建议还是自己读题好一些... 读懂题后发现:由于温度互不相同,最大生成树上的路径必须走(不走的话温度大 ...