Java 向数据库中输入datetime类型数据

Java 可以使用jdbc访问数据库,我们通常使用的时间是java.utils.Date。后来尝试使用java.sql.Date朝数据库中写入时间,发现了一个问题,这些写入的时间,无一例外的没有后面的小时等信息,只有年-月-日

java.sql.Date只表示数据库中日期的部分,如果想向数据库中写入完整的时间,如2016-12-11 17:10:25.000 则需要使用java.sql.Timestamp这个类。

下面,我给大家介绍下两种东西的使用方法

字符串和java.utils.Date相互转换

我们使用DateFormat 类来进行String和Date的转换,而java.utils.Date是我们在java编程中经常使用的。

字符串转化为Date类型

public void getDateTime() throws ParseException{String str = "2016-12-11 17:17:10"; //字符串格式的时间
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式java.util.Date date = dateFormat.parse(str);  //str 转 DateSystem.out.println("Time of Date type:"+date);}

Date类型转化为字符串

        //Date类型转字符串public void getCurrentStrTime(){DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");   // 这里填写的是想要进行转换的时间格式java.util.Date date = new java.util.Date();      // 获取当前时间String str = dateFormat.format(date);  //Date 转换为 strSystem.out.println("Time of String type: "+str);}        

Java.sql.Date向数据库写入日期(年-月-日)

这里就需要java.sql.Date和java.utils.Date进行相互转换了,这个转换一般比较容易,利用构造方法和.getTime() 方法进行转化。

java.utils.Date date = new java.utils.Date();   // 获取当前时间
java.sql.Date sql_date = new java.sql.Date(date.getTime()); //转换成java.sql.Date
接着使用PreparedStatement 向数据库中写入时间,即可。ps.setDate(1, new java.sql.Date(date.getTime()));   // 设置项

Java.sql.Timestamp向数据库中写入时间(年-月-日  时:分:秒)

需要注意的是,上边一种方法只能将日期写入到数据库中,为了能够将时间精确到s甚至是ms。我们需要使用java.sql.Timestamp 类型。
java.sql.Timestamp 类型的构造函数也可以使用Long进行初始化Date date = new Date();
Timestamp timeStamp = new Timestamp(date.getTime());  故在生成java.utils.Date时,将时间精确到s,然后使用预编译语句执行SQL语句Date date = new Date();
Timestamp timeStamp = new Timestamp(date.getTime()); sql= "insert into flowmeter2(total,std_flow,temp,press,time) values(?,?,?,?,?)";   try {  PreparedStatement ps = connection.prepareStatement(sql);  ps.setString(1, total);  ps.setString(2, std_flow);  ps.setString(3, temp);  ps.setString(4, press);  ps.setTimestamp(5, timeStamp);  ps.executeUpdate();  System.out.println("添加成功!");  connection.close();
便可以将时间精确到ms级

转载于:https://www.cnblogs.com/Thomas-blog/p/9277124.html

java Date 和 数据库Date,DateTimed相关推荐

  1. oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化

    以下是对Java中的日期对象与Oracle中的日期之间的区别与联系做点说明,以期对大家有所帮助. new Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),就是系统当 ...

  2. Java向MySQL数据库插入时间类型Date数据时需要注意的问题

    MySQL默认的数据类型格式是:yyyy-MM-dd,如:2015-12-30 如下图: 因此我们在往MySQL数据库中插入数据时,需要先进行格式化.在java中,我们通常这样格式化日期: [java ...

  3. JAVA String时间转化为数据库Date类型

    JAVA String时间转化为数据库Date类型 String date="2017-01-12 18:00:00"; java.text.SimpleDateFormat fo ...

  4. mysql date类型加一个月jdbc_JDBC操作数据库Date类型数据

    JDBC操作数据库Date类型数据 由于java原生的工具类java.util提供的Date对象与JDBC提供的Date对象并不相同 分别是java.util.Date和java.sql.Date j ...

  5. mysql java.util.date_jdbc-java.sql.date和java.util.date之间转换

    ?处理数据库数据时我们经常要封装到javaBean对象中,或者把用户传递的传输赋给数据库例:resultSet.setDate(int,Date); 这样就存在一个问题,javaBean中的对象穿梭于 ...

  6. java string转sql date_Java中的util.Date,sql.Date,sql.Time,String类型转换

    今天总结一下工具类中Date类型. java.sql.Date,java.sql.Time,和java.sql.Timestamp(时间戳记)都是java.util.Date的子类. java.sql ...

  7. java Date days_JAVA的Date类与Calendar类(常用方法)

    念念不忘,必有回响 http://blog.csdn.net/xiaopihai86/article/details/50827945 1.用Java.util.Calender来实现 Calenda ...

  8. JAVA时间类型:Date、Calendar、LocalDate 、LocalTime、LocalDateTime、Instant的使用

    本文介绍JAVA的几种时间类型的使用:Date.Calendar.LocalDate .LocalTime.LocalDateTime.Instant Date #获取当前时间 Date date = ...

  9. java.sql.SQLException: Zero date value prohibited

    java.sql.SQLException: Zero date value prohibited:禁止零日期值. 使用JPA检索数据库表中日期字段时报此错误,去数据库表中查询该日期字段,发现有 00 ...

最新文章

  1. vue使用query传参页面刷新数据丢失问题
  2. OS / Linux / 系统阻塞在系统调用中时如果收到信号,系统如何处理?
  3. 一直都很喜欢的软件--基于平台
  4. opencv入门课程:彩色图像灰度化和二值化(采用skimage库和opencv库两种方法)
  5. val_loss突然变很大_女朋友突然变得很冷淡是怎么回事?该怎么办
  6. JavaScript开发环境Aptana
  7. oracle 如何查看一个表属于哪一个数据文件,如何查看某一表空间的数据文件都分布了哪些数据对象...
  8. R语言基于S3的面向对象编程
  9. python打包工具比较_Python 打包工具对比,Nuitka vs Pyinstaller
  10. oracle扩充字段长度的SQL语句,sql语句修改字段长度
  11. 翱文中华灯谜大全 v1.1 免费下载--IT man
  12. 负数求余简单技巧(C语言)
  13. 电子传真文档怎样加盖印章
  14. 解决win11不能拖拽图片进ppt/ps的问题
  15. 中国首富许家印入局FF 贾跃亭造车这事儿要成?
  16. vue移动端点击事件延迟_解决Vue 界面在苹果手机上滑动点击事件等卡顿问题_莺语_前端开发者...
  17. 简单Java小程序----有界面ATM机
  18. 关于:在 Windows Server 中的 Printer Server
  19. k8s之ingress
  20. 你想三年后过上什么样的生活?

热门文章

  1. 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
  2. MybatisPlus忽略实体类中的非数据库字段、JPA忽略实体类中的非数据库字段、HeHibernate忽略实体类中的非数据库字段
  3. kali2020进入单模式_蚂蚁集团技术专家山丘:性能优化的常见模式及趋势
  4. NLPML_总结_20210208
  5. Python中*args和**kwargs的区别
  6. LeetCode简单题之生成每种字符都是奇数个的字符串
  7. LeetCode简单题之至少是其他数字两倍的最大数
  8. 硬件专业化和软件映射的敏捷框架
  9. 为什么edge AI是一个无需大脑的人
  10. 推荐系统的个性化排名