java.util.date java.sql.date java.sql.timestamp

整理一:

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);

String -> Date String dateStr = "2010/05/04 12:34:23";

Date date = new Date();

//注意format的格式要与日期String的格式相匹配

DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

try {

date = sdf.parse(dateStr);

System.out.println(date.toString());

} catch (Exception e) {

e.printStackTrace();

}

Date -> String String dateStr = "";

Date date = new Date();

//format的格式可以任意

DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");

try {

dateStr = sdf.format(date);

System.out.println(dateStr);

dateStr = sdf2.format(date);

System.out.println(dateStr);

} catch (Exception e) {

e.printStackTrace();

}

整理三:

在 ResultSet中我们经常使用的setDate或getDate的数据类型是java.sql.Date,而在平时java程序中我们一般习惯使用 java.util.Date。 两者的关系 java.lang.Object | +---java.util.Date | +----java.sql.Date 从这个图中我们可以知道java.sql.Date是从java.util.Date继承过来的。

相互转换

使用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

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

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

另类获得日期的方法: 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);

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

  1. java 夏令时区_Java中的夏令时问题

    因为在用C#做项目的时候被夏令时坑过一回,所以这次将在java中的时区转换信息做一下记录,很简单 SimpleDateFormat inputFormat = new SimpleDateFormat ...

  2. java 日期是否合法_java 中 Date 类型快判断日期是否合法.

    // 如果日期不合法,则抛异常try {String date_str = 5555-22-33;SimpleDateFormat format=new SimpleDateFormat(yyyy-M ...

  3. Oracle中Date和Timestamp的区别

    Date和Timestamp精度不一样: 01)Timestamp精确到了秒的小数点(如:2018-11-13 16:40:03.698): 02)Date只精确到整数的秒(如:2018-11-13 ...

  4. java date 构造_Java中Date的构造方法及大小比较

    原标题:Java中Date的构造方法及大小比较 Date类在jdk1.1中就已经出现,算得上一个比较有历史的类了,用来表示日期时间.在实际的工作中有时会涉及到对日期时间的一个比较,判断两个时间的先后顺 ...

  5. java date类型大小比较_java中date类型如何比较大小

    java中date类型如何比较大小 时间:2018-01-19     来源:Java data类型讲解 Date类在jdk1.1中就已经出现,算得上一个比较有历史的类了,用来表示日期时间.在实际的工 ...

  6. java中M格式_Java中Date日期字符串格式的各种转换

    编程语言 Java中Date日期字符串格式的各种转换 字号+ 作者:小虾米 2017-04-21 08:51 以下程序源码都是从网络上整理之后,才发到本网站的,新手请收藏啊! public class ...

  7. mysql timestamp 类型_MySQL中“诡异”的TIMESTAMP数据类型

    注意:从5.6.4版本开始,TIME,TIMESTAMP,DATTIME这三种类型增加了对小数秒的支持,timestamp存储大小为4Bytes+小数部分:datetime存储大小为5Bytes+小数 ...

  8. java 创建 时间_java创建Date日期时间笔记

    (1)public Date() 创建的日期类对象的日期时间被设置成创建时刻相对应的日期时间. 例: Java代码 1.Date today=new Date();  //today被设置成创建时刻相 ...

  9. java list原理_Java中ArrayList实现原理

    前言 这个分类中,将会写写Java中的集合.集合是Java中非常重要而且基础的内容,因为任何数据必不可少的就是该数据是如何存储的,集合的作用就是以一定的方式组织.存储数据.这里写的集合,一部分是比较常 ...

最新文章

  1. 游戏运行时报0xc000007b错的解决办法
  2. UA OPTI544 量子光学11 Maxwell-Bloch方程
  3. 三方支付(支付宝为例)
  4. armbian安装图形桌面_Linux图形界面的搜索工具,比Windows强吗?
  5. python 字符串 数字_Python基础教程:数字、字符串
  6. 脚本配置文件(通过一个案例解释下什么叫脚本配置文件)
  7. 产品配件类目税目分类_我国消费税税目种类有哪些?
  8. Python高能小技巧:了解bytes与str的区别
  9. mysqldump导出数据库视图_mysql中如何用mysqldump批量如何导出视图view啊?
  10. Linux安装php-7.0.16,完成php和apache的配置
  11. 如何远程linux服务器桌面,LINUX操作系统如何远程登录桌面
  12. 容器技术Docker K8s 42 Serverless Kubernetes(ASK)详解-ASK应用管理
  13. opencv模板匹配matchTemplate
  14. 金蝶服务器换了无线网怎么办,搬家后wifi怎么重新设置?
  15. Cannot determine value type from string ‘5ca68b45-78bc-4a68-b3a6-97b0ff73797‘
  16. 全球水深地形模型ETOPO1
  17. C语言设计学生宿舍管理系统
  18. IMU、AHRS、VRU和GNSS、INS
  19. 抖音国际版Tiktok不能注册的解决方案长期有效2020.8
  20. 进程与程序的联系与区别

热门文章

  1. 专家指南|18 个会杀死初创公司的错误
  2. 深入理解JVM(1):类加载器
  3. java metrics.counter_技术专栏 | 深入理解Metrics(二):Counters
  4. 有的歌声音大有的歌声音小_为什么唱歌时自己觉得声音大别人觉得声音小?
  5. ITRAQ、TMT标签结构以及相对定量
  6. 神奇的Grails:自关联的树状Domain一行代码获取所有子节点
  7. linux上安装游戏程序,分享|如何在 Linux 中安装 2048 游戏
  8. 在Ubuntu 18.04 LTS安装ROS 2 Bouncy版机器人操作系统
  9. 公众号加音频文件的实现方案
  10. 基于java jsp酒神网