博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java.util.Date 与 Java.sql.Date
阅读量:7009 次
发布时间:2019-06-28

本文共 1069 字,大约阅读时间需要 3 分钟。

hot3.png

Java.util.Date 是 Java.sql.Date的父类,通常我们在java中使用date类型都会使用Java.util.Date

两者本质上都是时间戳,只是util.Date包括了时分秒。sql.Date不包括时分秒,但它把当前的时间剪掉了,保证sql.Date一定是那个日期的0点0分0秒的时间戳

所以

     new java.util.Date()会得到当前时间

     new java.sql.Date(new java.util.Date().getTime()),得到的时间会是今天的0点0分0秒  

两者使用场景

  • Java.sql.Date 在sql语句中使用,只包含日期部分,并不包含时间部分,因此,sql.Date插入数据库表后,库表中的是 yyyy-MM-dd 00:00:00,没有时分秒!
  • Java.util.Date 在除了sql语句以外的地方使用
  • PreparedStatement 使用的是Java.sql.Date

两者转换

  • sql.Date -- > util.Date
    • java.sql.Date date=new Java.sql.Date();
      java.util.Date d=new java.util.Date (date.getTime());
  • util.Date --> sql.Date
    • java.util.Date date=new Java.util.Date();
      java.sql.Date d=new java.sql.Date (date.getTime());

String 转 sql.Date

  • 使用sql.Date的valueOf(String s) 方法
    • String 字符串的格式一定要是  yyyy-[m]m-[d]d,否则会抛 IllegalArgumentException
  • 通过SimpleDateFormat转换成util.Date再转换成sql.Date 
    • SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String dateStr = "2017-01-06";java.util.Date date = sdf.parse(dateStr);java.sql.Date sqlDate = new java.sql.Date(date.getTime()); //省略try catch

       

 

转载于:https://my.oschina.net/klausprince/blog/820144

你可能感兴趣的文章
Docker 使用 supervisord 管理 lumen队列与crontab
查看>>
vue-router源码解析(二)插件实现
查看>>
危险 AI 花名册
查看>>
日常工作-处理Windows下PHPStudy中的Apache无法启动的解决方法
查看>>
Windows Server已可安装Docker,Azure开始支持Mesosphere
查看>>
React从入门到精通系列之(15)不可控组件
查看>>
与Susan Fowler探讨生产就绪微服务之问答
查看>>
JCP EC投票反对Java平台模块系统
查看>>
Liftbridge为NATS提供了类Kafka的日志API
查看>>
Realm为Node.js发布对象数据库
查看>>
[译] 如何运用新技术提升网页速度和性能
查看>>
全域赋能和智慧全球,阿里巴巴大数据技术前瞻与案例
查看>>
90%炒币者亏钱,区块链“撒币时代”结束了
查看>>
冬天来了,让Sleep System智能床垫帮你暖床!
查看>>
2017洛客大会成功落幕, 全球“洛客”开启“想象力时代”
查看>>
关于区块链革命你必须知道的事实
查看>>
开源 |蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构...
查看>>
Go语言之基准测试
查看>>
win10_x64更新错误解决: 安装一些更新时出现问题,但我们稍后会重试。如果持续出现这些问题,并且你想要搜索Web或联系支持人员以获取相关信息,以下信息可能会对你有帮助:...
查看>>
keepalived vrrp_script的一些实例配置
查看>>