一:前言

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

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. UVALive 3668 A Funny Stone Game(博弈)

    Description The funny stone game is coming. There are n piles of stones, numbered with 0, 1, 2,...,  ...

  2. C++ STL victor

    一.介绍 vector是表示可变大小数组的序列容器. 就像数组一样,vector也采用的连续存储空间来存储元素.也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效.但是又不像数组,它 ...

  3. java—连连看-实现消除

    实现消除 1.Chess.java package Linkup; /** * 棋子封装类 * * @author laixl * */ public class Chess { // 图片的 状态 ...

  4. 刷ROM必備的clockworkmod recovery

    Desire HD 手機早早就 Root,前陣子也S-OFF 變成工程版的 HBOOT(ENG S-OFF),想要刷機的朋友一定常常聽人提起 clockworkmod recovery ,接下來就是安 ...

  5. lintcode-196-寻找缺失的数

    196-寻找缺失的数 给出一个包含 0 .. N 中 N 个数的序列,找出0 .. N 中没有出现在序列中的那个数. 样例 N = 4 且序列为 [0, 1, 3] 时,缺失的数为2. 挑战 在数组上 ...

  6. union查询

     select id, uid, money, FROM_UNIXTIME(created) as created, type FROM  (  #type=1是  cjw_finance_bonus ...

  7. server2003 必要的系统优化和安全设置

    修改远程桌面端口: Windows 2003系统中的远程终端服务是一项功能非常强大的服务,同时也成了入侵者长驻主机的通道,入侵者可以利用一些手段得到管理员账号和密码并入侵主机.下面,我们来看看如何通过 ...

  8. java 基础--switch--003

    1,break可以省略吗? default中的可以省略,其他的如果省略会执行下一个case,从下一个case的 break中中断.(case穿透) 2,default一定要在最后吗? 不是,可以在任意 ...

  9. 使用gdb查看栈帧的情况, 没有ebp

    0x7fffffffdb58: 0x004005ba  0x00000000  0x00000000  0x00000000 <-----funcb的栈帧 [0x7fffffffdb60, 0x ...

  10. Hibernate使用详解(一)

    一.前言 这些天都在为公司框架重构做准备,浏览了一下代码,挑了几个不熟或者没接触过的知识点进行攻坚,hibernate是其中之一.其实接触hibernate是在大学期间,应该是在2012年,已经201 ...