java时间定义什么类型_1 Java中的时间类型
总结:sql中的时间转 util的时间直接赋值即可;反过来,必须先吧util下的时间转换成毫秒,再通过sql的构造器生成sql的时间格式。
1Java中的时间类型
java.sql包下给出三个与数据库相关的日期时间类型,分别是:
l Date:表示日期,只有年月日,没有时分秒。会丢失时间;
l Time:表示时间,只有时分秒,没有年月日。会丢失日期;
l Timestamp:表示时间戳,有年月日时分秒,以及毫秒。
这三个类都是java.util.Date的子类。
2时间类型相互转换
把数据库的三种时间类型赋给java.util.Date,基本不用转换,因为这是把子类对象给父类的引用,不需要转换。
java.sql.Date date = …
java.util.Date d = date;
java.sql.Time time = …
java.util.Date d = time;
java.sql.Timestamp timestamp = …
java.util.Date d = timestamp;
当需要把java.util.Date转换成数据库的三种时间类型时,这就不能直接赋值了,这需要使用数据库三种时间类型的构造器。java.sql包下的Date、Time、TimeStamp三个类的构造器都需要一个long类型的参数,表示毫秒值。创建这三个类型的对象,只需要有毫秒值即可。我们知道java.util.Date有getTime()方法可以获取毫秒值,那么这个转换也就不是什么问题了。
java.utl.Date d = new java.util.Date();
java.sql.Date date = new java.sql.Date(d.getTime());//会丢失时分秒
Time time = new Time(d.getTime());//会丢失年月日
Timestamp timestamp = new Timestamp(d.getTime());
3代码
我们来创建一个dt表:
CREATE TABLE dt(
d DATE,
t TIME,
ts TIMESTAMP
)
下面是向dt表中插入数据的代码:
@Test
public void fun1() throws SQLException {
Connection con = JdbcUtils.getConnection();
String sql = "insert into dt value(?,?,?)";
PreparedStatement pstmt = con.prepareStatement(sql);
java.util.Date d = new java.util.Date();
pstmt.setDate(1, new java.sql.Date(d.getTime()));
pstmt.setTime(2, new Time(d.getTime()));
pstmt.setTimestamp(3, new Timestamp(d.getTime()));
pstmt.executeUpdate();
}
下面是从dt表中查询数据的代码:
@Test
public void fun2() throws SQLException {
Connection con = JdbcUtils.getConnection();
String sql = "select * from dt";
PreparedStatement pstmt = con.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
rs.next();
java.util.Date d1 = rs.getDate(1);
java.util.Date d2 = rs.getTime(2);
java.util.Date d3 = rs.getTimestamp(3);
System.out.println(d1);
System.out.println(d2);
System.out.println(d3);
}
时间类型
数据库类型与java中类型的对应关系:
DATE -> java.sql.Date
TIME -> java.sql.Time
TIMESTAMP -> java.sql.Timestamp
l 领域对象(domain)中的所有属性不能出现java.sql包下的东西!即不能使用java.sql.Date;
l ResultSet#getDate()返回的是java.sql.Date()
l PreparedStatement#setDate(int, Date),其中第二个参数也是java.sql.Date
时间类型的转换:
l java.util.Date -> java.sql.Date、Time、Timestamp
把util的Date转换成毫秒值
使用毫秒值创建sql的Date、Time、Timestamp
java.util.Date date = new java.util.Date();
long l = date.getTime();//util的时间获取毫秒值
java.sql.Date sqlDate = new java.sql.Date(l);
l java.sql.Date、Time、Timestamp ->java.util.Date
这一步不需要处理了:因为java.sql.Date是java.util.Date;
java时间定义什么类型_1 Java中的时间类型相关推荐
- 对导入的 excel 的时间的处理 将excel表中的时间,转成 标准的时间
对导入的 excel 的时间的处理 将excel表中的时间,转成 标准的时间 export const formatDate = (numb, format) => {const time = ...
- java的异常有哪些类_Java中的异常类型有哪些
1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...
- Effective Java之请不要在新代码中使用原生态类型(二十三)
1.泛型与原生态类型的概念 泛型就是带一个或多个类型参数E的类或者接口,而原生态类型是不带任何实际类型的泛型,例如List是原生态类型,List < String >或者List< ...
- pandas 如何把时间转成index_pandas将字段中的字符类型转化为时间类型,并设置为索引...
假设目前已经引入了 pandas,同时也拥有 pandas 的 DataFrame 类型数据. import pandas as pd 数据集如下 df.head(3) date open close ...
- mysql数据库中常用的类型_MySQL数据库中常用字段类型
MySQL数据库中常用字段类型 整数型:TINYINT,SMALLINT,INT,BIGINT 小数型:FLOAT,DOUBLE,DECIMAL(M,D) 字符型:CHAR,VARCHAR 日期型:D ...
- oracle锁类型tx,Oracle中的锁类型
Oracle中的锁类型主要分以下3种: DML锁(DML lock):DML 代表数据操纵语言(Data Manipulation Language).一般来讲,表示select,insert,upd ...
- 如何用python处理excel中时间重合_python读取Excel文件中的时间,并计算时间间隔...
以此Excel文件为例: 1.python读取Excel文件中的时间 import xlrd #读取Excel文件 workbook = xlrd.open_workbook('C:/Users/12 ...
- mysql中时间的储存方式_数据库 中“日期/时间”存储方式
Access中: Access 在内部以 双精度浮点数的形式存储"日期/时间"值.每一个此类数值均包含日期和时间两部分.小数点左边的整数部分表示日期.小数点右边的小数部分表示时间. ...
- c语言 地址类型,C语言中的地址类型
第!!卷!第"期 #$%&!!!'$&" ! ! ! ! ! 平!原!大!学!学!报 ()*+',-)./0'12*,'*'0#3+4052 ! ! ! ! !66 ...
- linux怎么找指定类型文件,Linux中查找指定类型文件以及删除例子
在Linux服务器上运行Weblogic服务器,每次需要关闭Weblogic服务器后,都会在domain下留下一些*.lok的文件,导致下次启动的时候因为这些文件无法启动,因此,需要删除产生的所有.l ...
最新文章
- WSL与Windows交互实践
- 干粮 -- 计算机程序设计艺术(The Art of Computer Design) - 2
- 得到ios设备的屏幕尺寸信息
- 【粉丝福利】今天不谈技术,只送福利!
- python--装饰器初阶
- Java将每半年发布一个版本
- docker学习(三) 安装docker的web可视化管理工具
- char型指针与其它指针或数组的细节
- 算法笔记练习 题解合集
- 计算机二级c语言word答案,全国计算机考试二级C语言南开100题答案(Word版)
- Scrapy 链家网爬取(存储到MySQL、json、xlsx)
- Android ApiDemos示例解析(110):Views-Data Widgets-1. Dialog
- 中国莽草酸行业市场深度调查报告(2022版)
- 进阶-第28__深度探秘搜索技术_实战掌握误拼写时的fuzzy模糊搜索技术
- 倒排索引(Inverted index)
- ServiceMesh实战-服务网格是什么?
- 弘辽科技:拼多多24小时不发货怎么办?如何发货?
- php 极光短信发送 api
- 基础欠缺,是致命的。
- 远程辅助必备免费神器ToDesk远程控制软件(答辩,远程,调试,办公)必备远程工具
热门文章
- Q4营收超预期但亏损加大 OKTA还能吸引投资者继续“上车”吗?
- 专题图制作(点密度图、分层设色图/等级图、单值图、柱状图、饼状图)
- vue 封装 瀑布流
- 第一卷 无忧考吧 了解
- pb setprofilestring()函数中使用相对路径
- AIX下磁带机共享问题
- 斯坦福大学公开课 :机器学习课程(Andrew Ng)——1、整体看一看
- typescript 文档阅读笔记-Unions and Intersection Types
- 软件分享系列之【PS2020下载安装】并持续分享中...
- Matlab建模—导弹追踪问题