package cn.jbit.date;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTest01 {
//日期之间的转换
/***
* 日期格式 常用的两种
* yyyy-MM-dd
* yyyy/MM/dd
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
//01.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));
//02.字符串 转换成 Date
String str="2016-11-12 03:58:32";
date = format.parse(str);
System.out.println(date);
test01();
test02();
}
//03.把sql Date 转成 util Date
public static void test01(){
Date date=new Date();
System.out.println(date.getTime());
//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()+1900);
}
//04.把字符串 转成TimeStamp类型(时间鋜)
@SuppressWarnings("static-access")
public static void test02(){
//需要一个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);
}
//04.把 TimeStamp类型 转换成 字符串
public void test03(){
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));
}
/*
* 05.把 TimeStamp类型 转换成 util.Date
*
* 底层代码发现 TimeStamp是Date的 子类
* public class Timestamp extends java.util.Date
*/
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);
}
//06.util.Date 不能直接转 换成 TimeStamp类型 需要借助String
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);
}