今天舍友问我,JDBC中的stmt.setDate()怎么挺入当前时间,传入参数new java.util.Date()不行,传入 参数new java.sql.Date(),试了一会,还是不行。此时,才发觉,自从用了Hibernate,JPA之后,我连原始的东西都忘记了。这可是一个很可悲的问题,决定来一次小测试!
package test;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class SQLDate {
public static void main(String[] args){
System.out.println(System.currentTimeMillis()); //结果:1244711626453
java.util.Date date1 = new java.util.Date();
System.out.println(date1.toString()); //结果: Thu Jun 11 16:27:57 CST 2009
//java.sql.Date extends java.util.Date
java.sql.Date date2 = new java.sql.Date(System.currentTimeMillis());
System.out.println(date2.toString()); //结果: 2009-06-11
java.sql.Date date3 = new java.sql.Date(date1.getTime());
System.out.println(date3.toString()); //结果:2009-06-11
//Timestamp extends java.util.Date
Timestamp stamp1 = new Timestamp(System.currentTimeMillis());
System.out.println(stamp1.toString()); //结果: 2009-06-11 16:27:57.75
Timestamp stamp2 = new Timestamp(date1.getTime());
System.out.println(stamp2.toString()); //结果:2009-06-11 16:52:56.171
//日期时间转换成格式化的字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//format(java.util.Date date), Timestamp是java.util.Date的子类
String timeStr = sdf.format(stamp1);
System.out.println(timeStr); //结果:2009/06/11 16:52:56
//SimpleDateFormat extends DateFormat,DateFormat是抽象类
DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String timeStr2 = df.format(date1);
String timeStr3 = df.format(date2);
System.out.println(timeStr2); //结果:2009/06/11 16:52:56
System.out.println(timeStr3); //结果: 2009/06/11 16:52:56
//字符串转化为日期时间
try {
//parse()中的参数必须与sdf中定义的格式一致,否则抛异常
java.util.Date date6 = sdf.parse("2009/12/10 5:12:02");
System.out.println(date6.toString()); //结果: Thu Dec 10 05:12:02 CST 2009
java.sql.Date date7 = new java.sql.Date(date6.getTime());
System.out.println(date7.toString()); //结果: 2009-12-10
//注意: sdf.parse()返回值是java.util.Date类型,不能转化成java.sql.Date类型
//java.sql.Date date8 = (java.sql.Date)sdf.parse("2009/12/10 5:12:02"); //不可行
Timestamp stamp9 = new Timestamp(date7.getTime());
System.out.println(stamp9.toString()); //结果: 2009-12-10 05:12:02.0
} catch (ParseException e) {
e.printStackTrace();
}
}
}
这样测试一下,那几个常用日期时间类和字符串与日期时间类的转换的用法,也就一目了然了。贴到博客上,下次再遗忘时,打开来看看,也就立即记起来了!
分享到:
相关推荐
苹果提供了一些性能指导原则,比如使用轻量级的动画类型,避免在主线程上执行耗时操作,以及利用硬件加速等。 测试阶段同样关键,开发者需要在各种设备和操作系统版本上测试应用,确保动态效果在不同环境下都能顺畅...
关于重阳节的作文:青少年不该淡忘的一些事.doc
java多线程初学者练习题目,供初学者练习使用
Java知识体系涵盖广泛,本文将主要探讨Java的基础知识、对象清理以及垃圾回收机制。Java是一种广泛应用的编程语言,尤其在企业级应用开发中占据主导地位。掌握Java的基础知识是成为熟练Java开发者的必备条件。 首先...
JAVA学习基础知识中的File Reader的用法说明,喜欢的朋友可以下载看看
整理的JAVAEEAPI,中文版,英文版, 中英对照版,jdk中文版
经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part3
9. **时间的预设与规划**:我们用时间来设定目标和计划,如设定截止日期、规划项目进度等,这体现了时间对决策和行动的指导作用。 10. **时间的无限性与有限性**:面对时间的无限,我们意识到生命的短暂,这种对比...
在高等数学的学习中,一些知识点可能会随着时间而逐渐淡忘,特别是涉及到抽象概念和复杂计算的部分。以下是根据给定的信息,对一些关键知识点的详细解析: 1. **解的结构理论中的线性相关**:线性相关指的是在向量...
这篇文档虽然标题为“淡忘过去,记住教训,珍惜现在,美好生活作文.doc”,但实际上它讲述的是一个关于家庭、教育和犯罪的故事,通过一个年轻人走向歧途的案例来探讨家庭教育、亲子关系以及对父母之爱的理解。...
在Python脚本中,可以设计一个函数,根据学习日期和遗忘曲线公式计算出下一次复习的时间,然后将这些信息更新到Excel表格中。 此外,为了提高用户体验,你还可以在Excel表格中加入条件格式,例如用不同的颜色标记...
轻量级Java.EE企业应用实战.光盘 part03 李刚
轻量级Java.EE企业应用实战.光盘 part02 李刚
轻量级Java.EE企业应用实战.光盘 part01 李刚
经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part2
经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part1
轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发 李刚
轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发 part4 李刚
轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发 part5 李刚
轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发 李刚 part2