2019独角兽企业重金招聘Python工程师标准>>>

Java SQL DAO
java.util.date java.sql.date java.sql.timestamp

整理一:

这里的一片文章,我个人认为讲解的很详细,有对 java.sql.Date的使用还有困惑的请看。

java.sql.Date 只存储日期数据不存储时间数据

// 会丢失时间数据
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));

//可以这样来处理

preparedStatement.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().getTime()));

//想要得到完整的数据,包括日期和时间,可以这样

java.util.Date d = resultSet.getTimestamp(1);

//这样处理更合适一些,可以避免一些潜在Timestamp 问题

java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());

自己补的话

这样的话:

往数据库存储的时候可以接收 java.util.Date类型 再用getTime()方法得到代表那个Date对象的long值,再以这个long值 构造一个Timestamp对象 存进数据库中。

从存数据库里取的时候,可以先得到Timestamp用他的getTime()方法得到long值,再以这个long值构造一个 java.util.Date对象,这样就可以对这个Date对象操作了。不如说 new SimpleTimeFormat("yyyyy-MM-dd HH:mm:ss").format()等等

整理二:

用Timestamp来记录日期时间还是很方便的,但有时候显示的时候是不需要小数位后面的毫秒的,这样就需要在转换为String时重新定义格式。

Timestamp转化为String: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒 Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间 String str = df.format(now);         String转化为Timestamp: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(new Date()); Timestamp ts = Timestamp.valueOf(time);     整理三:   在 ResultSet中我们经常使用的setDate或getDate的数据类型是java.sql.Date,而在平时java程序中我们一般习惯使用 java.util.Date。因此在DAO层我们经常会碰到这俩种数据类型的相互转换,经过了一个下午的折腾,鄙人对两者的转换方法做出了小小总结,希 望大家不吝指教。
两者的关系
java.lang.Object
    |
    +---java.util.Date
            |
            +----java.sql.Date
从这个图中我们可以知道java.sql.Date是从java.util.Date继承过来的。

相互转换
1. 使用getTime()函数
这两个类都提供了getTime()函数,用于返回对应的毫秒数(long类型)。利用这个函数可以实现转换:
    java.util.Date utilDate = new java.util.Date(sqlDate.getTime());   // sql -> util
    java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());   // util -> sql

2. 使用SimpleDateFormat类实现转换
SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。
SimpleDateFormat dateFormat = new SimpleDateFormate("yyyy-MM-dd HH:mm:ss");
java.util.Date utilDate = dateFormat.parse(sqlDate.toString());

3. 直接转换
由于java.sql.Date是从java.util.Date中继承过来的,所以可以直接用:
utilDate = sqlDate;

4. 另类获得日期的方法:
SimpleDateFormat sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);

ps: java.util.Date类中的getYear()要加上1900才可得到实际值,getMonth()则要加上1

转载于:https://my.oschina.net/houyiwujing/blog/42838

Java中Date及Timestamp时间相关内容【转】相关推荐

  1. java timestamp时区_Java中Date及Timestamp时间相关内容(转)

    java.util.date java.sql.date java.sql.timestamp 整理一: java.sql.Date 只存储日期数据不存储时间数据 // 会丢失时间数据 prepare ...

  2. Java中Date和Calender类的使用方法

    查看文章     Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...

  3. java中date和时间戳相互转换以及获取前一个小时的时间

    1.时间戳是指文件属性里的创建.修改.访问时间. 数字时间戳技术是数字签名技术一种变种的应用.在电子商务交易文件中,时间是十分重要的信息.在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被 ...

  4. Java中Date各种相关用法

    Java中Date各种相关用法 本文主要介绍Java中Date各种相关用法. AD:   Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=C ...

  5. java的知识点45——事务||测试时间处理(java.sql.date,time,timestamp)

    事务 事务基本概念: 一组要么同时执行成功,要么同时执行失败的SQL语句.是数据库操作的一个执行单元! 事务开始于: 连接到数据库上,并执行一条DML语句(INSERT.UPDATE或DELETE). ...

  6. java 从excel中读取数据_在Java中读取Excel文件的内容和导出数据到Excel文件中

    转自www.chianjavaworld.net 原作者:SonyMusic 读:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 在Java ...

  7. setTimeStamp()与setDate()区别 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型

    数据库 1.java.sql.Date 与 java.util.Date java.sql.Date是从java.util.Date中继承而来 假设 dates1(java.sql.Date)要赋值给 ...

  8. 最新Java中Date类型详解

    一.Date类型的初始化 1. Date(int year, int month, int date); 直接写入年份是得不到正确的结果的. 因为java中Date是从1900年开始算的,所以前面的第 ...

  9. java中Date日期类型的大小比较

    java中Date日期类型的大小比较 方法一: java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小 String beginTim ...

最新文章

  1. 为什么要选择html5,5分钟告诉你,为什么要学HTML5大前端
  2. Python 工匠:善用变量来改善代码质量
  3. 怎样分组教学计算机学生才有兴趣,学生计算机论文,关于如何激发职业中专学生学习计算机的兴趣相关参考文献资料-免费论文范文...
  4. Gym 101915J(并查集)
  5. 【英语学习】【加州教材】【G2】【科学】Science目录及术语表
  6. js 按给定数组的顺序给数组排序_JavaScript中如何如何给数组以及数组对象根据value值进行排序。...
  7. 计算机基础课在护理专业中的应用,计算机基础教育在护理教育中的应用论文.doc...
  8. YOLOv2论文中英文对照翻译
  9. 机电大作业(第一阶段)
  10. 虚拟服务器网络未识别,vm虚拟机未识别的网络
  11. 单片机设计 指纹识别系统
  12. MAC版Sublime Text 解决 Unable to download XXX 问题
  13. 第一章 Web MVC简介 —— 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1、We
  14. PESniffer4PEiD plugin from NEOx's 0depts by Slip
  15. java-net-php-python-japm中小学生课堂评价系统查重PPT计算机毕业设计程序
  16. 实践|美创助力“云学堂”数据安全风险管控建设
  17. 移动流媒体技术及其应用发展方向
  18. 基于AD Event日志实时检测GPO后门
  19. 备受全球瞩目的「USDT集体索赔案」来龙去脉|全文译本
  20. jude 5.5.2 UML

热门文章

  1. CSS你可能还不知道的一些知识点
  2. 51nod 1090 1267 【二分简单题】
  3. 背包九讲之五(二维费用的背包问题)
  4. Data Guard相关参数学习介绍
  5. HTML5标签的语义认知和理解
  6. SQL Server 下的 获取当月最后一天
  7. Redis数据库教程——系统详解学习Redis全过程
  8. Django搭建个人博客:给文章加个漂亮的标题图
  9. ASP.NET杂谈-一切都从web.config说起(2)(ConfigSections详解-中)
  10. “汇新杯”新兴科技+互联网创新大赛青年创客专项赛即将截止报名