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数据是否相等.注意这种方法 ...
随机推荐
- Python3 Tkinter-Canvas
1.创建 from tkinter import * root=Tk() cv=Canvas(root,bg='black') cv.pack() root.mainloop() 2.创建item f ...
- [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 ...
- Python高级编程-多线程
(一)进程线程概述: 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统. 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行 ...
- Git 命令详解及常用命令
Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: 1 2 3 4 Work ...
- string && 字符数组
一.string 1. 使用字符串字面值初始化string对象 如:string s1 = "hiya"; string s2("hiya"); 该字面值的最后 ...
- Git命令基本操作
本文从以下九个方面,介绍Git命令的基本操作: 一. Git安装 二. Git基本配置 三. 创建Git仓库 四. 获得Git仓库 五. 提交更新 六. 提交历史查看 七. 远程仓库 八. 打Tags ...
- 关于已部署的WCF服务升级的问题
在日常的开发过程中,我们会经常迭代发布不同的版本,所以WCF服务的接口也会经常处于变动的状态,比如在传递实体类中新加一个字段.修改参数名称等等关于服务升级的问题.但是我们不可能让已发布的版本重新引用新 ...
- Redis 学习之常用命令及安全机制
该文使用centos6.5 64位 redis3.2.8 一.redis常用命令 键值常用命令: 1. keys 返回满足pattern的所有key. 127.0.0.1:6379> ke ...
- Visual Studio 2013中使用Ribbon For WPF
1.首先需要 下载Ribbon For WPF.目前最新的版本是Microsoft Ribbon for WPF October 2010. 下载 链接: https://www.microsoft. ...
- 【bzoj4736/uoj#274】[清华集训2016]温暖会指引我们前行 语文题+LCT
题目描述 http://uoj.ac/problem/274 题解 语文题+LCT 对于这种语文题建议还是自己读题好一些... 读懂题后发现:由于温度互不相同,最大生成树上的路径必须走(不走的话温度大 ...