下面总结了些JAVA中有关时间格式转换的一些方法
public static void main(String[] args) throws ParseException {
//实例化Date 获取当前日期
Date date=new Date();
System.out.println("日期:"+date);
System.out.println("时间戳:"+date.getTime());
//实例化SimpleDateFormat对象
// 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//将时间戳经过格式化转为想要的时间格式
String t = format.format(date.getTime());
System.out.println("格式化日期1:"+t);
//第二种格式
SimpleDateFormat format2=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String t2 = format2.format(date.getTime());
System.out.println("格式化日期2:"+t2);
//字符串转日期类型
String s="2018-09-08";
//实例SimpleDateFormat对象并设置要转换的格式
SimpleDateFormat format3=new SimpleDateFormat("yyyy-MM-dd");
Date date3=format3.parse(s);
System.out.println("字符串转日期:"+date3);
}
最近在项目中遇到从前端接受Date类型的数据,通过上面的方法将其转换为Date类型存入数据库,在将数据从数据库中查询返回至jsp页面时格式出现了问题
在JSP加入fmt属性
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<td><fmt:formatDate value="${order1.uorderdate}"
pattern="MM-dd HH:mm"/></td>
<td>${order1.udate}</td>
<td><fmt:formatDate value="${order1.uleavedate}"
pattern="yyyy-MM-dd" /></td>
三个时间都是从数据库中读取出来的 如果不加格式就是入住日期这样精确到时分秒 只需要在前面加如下属性
<fmt:formatDate value="${日期属性}" pattern="yyyy-MM-dd" />
代码很简单 平时记录自己的问题 希望会有帮助