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数据是否相等.注意这种方法 ...
随机推荐
- dice2win早期版本
原理; https://medium.com/dapppub/fairdicedesign-315a4e253ad6 早期版本地址: https://etherscan.io/address/0xD1 ...
- Python3 Tkinter-Canvas
1.创建 from tkinter import * root=Tk() cv=Canvas(root,bg='black') cv.pack() root.mainloop() 2.创建item f ...
- php 安全方面面试题
1 MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化? a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率.b. 选择合适的表字段数据类型和存储 ...
- 【转】Linux内核结构详解
Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信. 1.进程调度 (SCHED):控制进程对CPU的访问.当需要选择下一个进程运行时,由调度程序选择最值得运行 ...
- html5 canvas绘制环形进度条,环形渐变色仪表图
html5 canvas绘制环形进度条,环形渐变色仪表图 在绘制圆环前,我们需要知道canvas arc() 方 ...
- iOS开发改变字符串中指定字符颜色,大小等等
NSString *strJTGZ = [NSString stringWithFormat:@"交通管制%d处 ",[jtgz intValue]]; NSMutableAttr ...
- C#,Winform 文件的导入导出 File
1.导入 导入对话框:OpenFileDialog private void sbtnsb_Click(object sender, EventArgs e) { try { OpenFileDial ...
- jquery计算器(改良版)
代码: <!Doctype html> <html> <meta charset="UTF-8"> <title>计算器</t ...
- vs2015常用代码块与自定义代码块
常用代码块 代码段名 描 述 #if 该代码段用#if和#endif命令围绕代码 #region 该代码段用#region和#endregion命令围绕代码 ~ 该代码段插入一个析构函数 att ...
- html5 canvas 图像处理
1.图像放大缩小 <script> var cvs = document.getElementById("canvas"); cvs.width = cvs.heigh ...