java timestamp时区_Java中Date及Timestamp时间相关内容(转)
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时间相关内容(转)相关推荐
- java 夏令时区_Java中的夏令时问题
因为在用C#做项目的时候被夏令时坑过一回,所以这次将在java中的时区转换信息做一下记录,很简单 SimpleDateFormat inputFormat = new SimpleDateFormat ...
- java 日期是否合法_java 中 Date 类型快判断日期是否合法.
// 如果日期不合法,则抛异常try {String date_str = 5555-22-33;SimpleDateFormat format=new SimpleDateFormat(yyyy-M ...
- Oracle中Date和Timestamp的区别
Date和Timestamp精度不一样: 01)Timestamp精确到了秒的小数点(如:2018-11-13 16:40:03.698): 02)Date只精确到整数的秒(如:2018-11-13 ...
- java date 构造_Java中Date的构造方法及大小比较
原标题:Java中Date的构造方法及大小比较 Date类在jdk1.1中就已经出现,算得上一个比较有历史的类了,用来表示日期时间.在实际的工作中有时会涉及到对日期时间的一个比较,判断两个时间的先后顺 ...
- java date类型大小比较_java中date类型如何比较大小
java中date类型如何比较大小 时间:2018-01-19 来源:Java data类型讲解 Date类在jdk1.1中就已经出现,算得上一个比较有历史的类了,用来表示日期时间.在实际的工 ...
- java中M格式_Java中Date日期字符串格式的各种转换
编程语言 Java中Date日期字符串格式的各种转换 字号+ 作者:小虾米 2017-04-21 08:51 以下程序源码都是从网络上整理之后,才发到本网站的,新手请收藏啊! public class ...
- mysql timestamp 类型_MySQL中“诡异”的TIMESTAMP数据类型
注意:从5.6.4版本开始,TIME,TIMESTAMP,DATTIME这三种类型增加了对小数秒的支持,timestamp存储大小为4Bytes+小数部分:datetime存储大小为5Bytes+小数 ...
- java 创建 时间_java创建Date日期时间笔记
(1)public Date() 创建的日期类对象的日期时间被设置成创建时刻相对应的日期时间. 例: Java代码 1.Date today=new Date(); //today被设置成创建时刻相 ...
- java list原理_Java中ArrayList实现原理
前言 这个分类中,将会写写Java中的集合.集合是Java中非常重要而且基础的内容,因为任何数据必不可少的就是该数据是如何存储的,集合的作用就是以一定的方式组织.存储数据.这里写的集合,一部分是比较常 ...
最新文章
- 游戏运行时报0xc000007b错的解决办法
- UA OPTI544 量子光学11 Maxwell-Bloch方程
- 三方支付(支付宝为例)
- armbian安装图形桌面_Linux图形界面的搜索工具,比Windows强吗?
- python 字符串 数字_Python基础教程:数字、字符串
- 脚本配置文件(通过一个案例解释下什么叫脚本配置文件)
- 产品配件类目税目分类_我国消费税税目种类有哪些?
- Python高能小技巧:了解bytes与str的区别
- mysqldump导出数据库视图_mysql中如何用mysqldump批量如何导出视图view啊?
- Linux安装php-7.0.16,完成php和apache的配置
- 如何远程linux服务器桌面,LINUX操作系统如何远程登录桌面
- 容器技术Docker K8s 42 Serverless Kubernetes(ASK)详解-ASK应用管理
- opencv模板匹配matchTemplate
- 金蝶服务器换了无线网怎么办,搬家后wifi怎么重新设置?
- Cannot determine value type from string ‘5ca68b45-78bc-4a68-b3a6-97b0ff73797‘
- 全球水深地形模型ETOPO1
- C语言设计学生宿舍管理系统
- IMU、AHRS、VRU和GNSS、INS
- 抖音国际版Tiktok不能注册的解决方案长期有效2020.8
- 进程与程序的联系与区别
热门文章
- 专家指南|18 个会杀死初创公司的错误
- 深入理解JVM(1):类加载器
- java metrics.counter_技术专栏 | 深入理解Metrics(二):Counters
- 有的歌声音大有的歌声音小_为什么唱歌时自己觉得声音大别人觉得声音小?
- ITRAQ、TMT标签结构以及相对定量
- 神奇的Grails:自关联的树状Domain一行代码获取所有子节点
- linux上安装游戏程序,分享|如何在 Linux 中安装 2048 游戏
- 在Ubuntu 18.04 LTS安装ROS 2 Bouncy版机器人操作系统
- 公众号加音频文件的实现方案
- 基于java jsp酒神网