java有关Time类型数据的接收和转换
一:前言
有关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类型数据的接收和转换的更多相关文章
- Android java传递string类型数据给C
本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...
- Android java传递int类型数据给C
本文根据<Android jni简便开发流程>中的开发流程来实现一个java传递int类型数据给C 新建项目,进行简单的布局 <LinearLayout xmlns:android= ...
- python基础知识五 各类型数据方法补充,转换,分类,编码+坑中菜
3.9各类型数据方法补充,转换,分类,编码,坑中菜 3.9.1数据类型方法补充 1.str:不可变 补充方法 s1.capitalize():首字母大写 s1 = "alex" s ...
- Java的各类型数据在内存中分配情况详解
1. 有这样一种说法,如今争锋于IT战场的两大势力,MS一族偏重于底层实现,Java一族偏重于系统架构.说法根据无从考证,但从两大势力各自的社区力量和图书市场已有佳作不难看出,此说法不虚,但 ...
- JAVA判断各种类型数据是否为空
1.判断list是否为空(Map.Set同list) if(list != null && list.size() == 0){ } if(list != null && ...
- java通过jdbc连接数据库并更新数据(包括java.util.Date类型数据的更新)
一.步骤 1.获取Date实例,并通过getTime()方法获得毫秒数: 2.将获取的毫秒数存储到数据库中,注意存储类型为nvarchar(20): 3.读取数据库的毫秒数,作为Date构造方法的参数 ...
- java 操作CLOB类型数据
clob类型,但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足楼主的需求,建议使用varchar2,下面提供了在Java 中读取clob类型的 ...
- Java中Byte类型数据在运算中的问题
比如: byte a=1; byte b=2; byte c; c=a+b; //这样是计算不出c,是错误的 c=a+1; //这样也是不能计算c的 c=64+1; //为什么这样就能计算c,在Jav ...
- Java中Double类型数据比较大小
方法一:转成字符串之后比较 如果要比较的两个double数据的字符串精度相等,可以将数据转换成string然后借助string的equals方法来间接实现比较两个double数据是否相等.注意这种方法 ...
随机推荐
- php 安全方面面试题
1 MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化? a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率.b. 选择合适的表字段数据类型和存储 ...
- Hadoop,MapReduce操作Mysql
前以前帖子介绍,怎样读取文本数据源和多个数据源的合并:http://www.cnblogs.com/liqizhou/archive/2012/05/15/2501835.html 这一个博客介绍一下 ...
- Calculator Part Ⅰ
GitHub/object-oriented The title of the work 关于这次的作业,一开始我是觉得不难的,毕竟学长在已经提供了足够多的提示,实现步骤.需要那些方面的知识等等.但是 ...
- hexo设置permalink-避免url中出现中文
hexo博客初始化的url是年月日+题目:year/:month/:day/:title/,这样的url不便与分享,中文会乱吗,而且一旦修改了题目(我相信大部分人的题目都是中文)就会导致之前分享的ur ...
- OSG学习:多重纹理映射
#include<osgViewer\Viewer> #include<osg\Node> #include<osg\Geode> #include<osg\ ...
- 使用协程(gevent)实现请求
协程,又称微线程.英文名Coroutine. 协程最大的优势就是协程极高的执行效率.因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就 ...
- nginx的平滑升级,不间断服务
nginx的平滑升级,不间断服务 Nginx更新真的很快,最近nginx的1.0.5稳定版,nginx的0.8.55和nginx的0.7.69旧的稳定版本已经发布.我一项比较喜欢使用新版本的软件, ...
- 【Linux】- ps 命令
Linux ps命令用于显示当前进程 (process) 的状态. 语法 ps [options] [--help] 参数: -A 列出所有的行程 -w 显示加宽可以显示较多的资讯 -a ...
- (转)Elasticsearch .net client NEST使用说明 2.x
Elasticsearch.Net与NEST是Elasticsearch为C#提供的一套客户端驱动,方便C#调用Elasticsearch服务接口.Elasticsearch.Net是较基层的对Ela ...
- 深入理解:java类加载器
概念理解:Java类加载器总结 1.深入理解Java类加载器(1):Java类加载原理解析 2.深入理解Java类加载器(2):线程上下文类加载器