public class DateTest {
/*
* 日期格式 常用的两种
* yyyy-MM-dd
* yyyy/MM/dd
*/
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);
}
//03.把 sql Date 转换成 util Date
@Test
public void test01(){
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());
}
//04.把字符串 转换成 TimeStamp类型(时间戳)
@Test
public 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类型 转换成 字符串
@Test
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
*/
@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);
}
//06.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);
}
}
/**
*今天用到了时间的比较,活动时间的判断 未开始 进行中 已结束
*使用Date的before()方法和after()方法
* 时间之前 时间之后
*2017.08.25
*/
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();//当前时间
Date start = format.parse(startTimet);
Date end = format.parse(endTimet);
if(start!=null&&end!=null){
if(date.before(start)){
proType.setState(0);//未开始
}
if(date.after(end)){
proType.setState(2);//已结束
}
if(date.after(start)&&date.before(end)){
proType.setState(1);
}
proType.setStartTime(start);
proType.setEndTime(end);
}
this.utilDao.save(proType);