一、java.sql.date与java.util.date的关系
1.继承关系
java.util.Date 是 java.sql.Date 的父类
2.相互转换
它们都有getTime方法返回毫秒数,自然就可以直接构建
java.sql.Date date=new Java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());
java.sql.Date sqldate = new java.sql.Date(100);
3.数据区别:
Date utilDate = new java.util.Date();
java.sql.Date SQLdate = new java.sql.Date(utilDate.getTime());
utilDate:Tue May 14 23:40:24 CST 2019
SQLdate:2019-05-14
4.应用场景
java.util.Date 就是在除了SQL语句的情况下面使用(一般是在数据库的时间字段)
java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分(一般是日常日期字段)
二、日期的格式化
1.java程序中
a)这里所有时间日期都可以被SimpleDateFormat格式化format()
注意: MM代表月份 mm代表分钟
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
b) “yyyy-MM-dd hh:mm:ss” 中连接符 - : 可以随便写,但是大小写保持规范。
c)其中hh代表12小时制,20点会自动转成08点,HH为24小时制
具体使用如下:
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
java.sql.Time sTime=new java.sql.Time(utilDate.getTime());
java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());
System.out.println(utilDate.getYear());
f.format(stp);f.format(sTime);f.format(sqlDate);f.format(utilDate)
注意:
//f.format(Date date); 返回值类型为String
//可以通过java.sql.Date.valueOf("2005-12-12");转化回sql.date--->util.date
//java.util.date没有valueOf方法
java.sql.Date sqlDate=java.sql.Date.valueOf("2005-12-12");
utilDate=new java.util.Date(sqlDate.getTime());
2.jsp页面中
a)jsp页面引入JSTL标签库
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
b)格式化时间
<fmt:formatDate value="${时间}" pattern="yyyy-MM-dd"/>
<input type="text" class="form-control Wdate" name="stu_birth"
value='<fmt:formatDate value="${student.stuBirth }" pattern="yyyy-MM-dd" />' />
注意:MM代表月份 mm代表分钟 后面也可加 hh:mm:ss