在java开发过程中,时间的转换时必须掌握的=========下面把时间转换做个总结,有可能不是很全面
时间格式只有两种
yyyy-MM-DD
yyyy/MM/DD
时间的类型:字符串类型、sql类型、util类型、TimeStamp类型
1.Date转换成字符串时间
//Date 转换成字符串 Date date=new Date(); System.out.println(date); //使用日期转换类 SimpleDateFormat format=new SimpleDateFormat("yyyy年-MM-dd hh:mm:ss"); //把日期转换成字符串 System.out.println(format.format(date));
2.字符串类型转成Date类型
转换的时间格式必须和SimpleDateFormat规定的格式相同,即下面代码标红部分必须一致格式
//字符串 转换成 Date String str="2016-11-12 03:58:32";
SimpleDateFormat format=new SimpleDateFormat("yyyy年-MM-dd hh:mm:ss");
date=format.parse(str);
System.out.println(date);
3.sql Dade 转换成util Date
Date date=new Date(); //java.util System.out.println(date.getYear()+1900); //java.sql.Date(date) 需要我们传递一个long类型的参数 java.sql.Date sqlDate=new java.sql.Date(date.getTime()); System.out.println(sqlDate); System.out.println(sqlDate.getYear());
4.字符串转换成TimeStamp类型时间戳
//需要一个long类型的参数 Timestamp ts=new Timestamp(System.currentTimeMillis()); System.out.println(ts); //2016-11-12 16:11:27.828 String str="2015-09-01 01:01:01"; /* * valueOf(字符串的类型必须是 底层规定的) * 底层代码: [] 代表可有可无 * String formatError = "Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]"; */ ts=ts.valueOf(str); System.out.println(ts);
5.TimeStamp类型时间转换成字符串
Timestamp ts=new Timestamp(System.currentTimeMillis()); //01.方式 最简单 System.out.println(ts.toString()); //02.SimpleDateFormat DateFormat format=new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); System.out.println(format.format(ts));
6.TimeStamp类型转换成util类型date
/* * 把 TimeStamp类型 转换成 util.Date * * 底层代码发现 TimeStamp是Date的 子类 * public class Timestamp extends java.util.Date */ @Test public void test04(){ Timestamp ts=new Timestamp(System.currentTimeMillis()); Date date=new Date(); System.out.println("date====>"+date); date=ts;//转换 System.out.println("ts=====>"+date); }
7.util类型Date转换成TimeStamp类型时间
//util.Date 不能直接转 换成 TimeStamp类型 需要借助String @Test public void test05(){ Timestamp ts=new Timestamp(System.currentTimeMillis()); Date date=new Date(); System.out.println("date====>"+date); if (ts instanceof Date) { ts=(Timestamp) date;//转换 } System.out.println("ts=====>"+ts); }