package com.lxz;
import java.sql.Time;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.junit.Test;
public class TimeHandler {
@Test
// Date转换为String
public void dateToString() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = sdf.format(new Date());
// date--->2015-12-20 14:18:59
System.out.println("date--->" + date);
}
@Test
// String转换为Date
public void stringToDate() {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String time1 = "2015-12-20 14:18:20";
String time2 = "2015/12/20 14:18:20";
try {
Date date1 = sdf1.parse(time1);
// date1--->Sun Dec 20 14:18:20 CST 2015
System.out.println("date1--->" + date1);
Date date2 = sdf2.parse(time2);
// date2--->Sun Dec 20 14:18:20 CST 2015
System.out.println("date2--->" + date2);
} catch (ParseException e) {
e.printStackTrace();
}
}
@Test
// 时间戳转换为String
public void timeStampToString() {
// 获取系统当前时间的毫秒数
Long currentTimeMillis = System.currentTimeMillis();
// currentTimeMillis--->1450593244978
System.out.println("currentTimeMillis--->" + currentTimeMillis);
// java.sql.Timestamp
Timestamp timestamp = new Timestamp(currentTimeMillis);
// date1--->2015-12-20 14:34:04.978
System.out.println("date1--->" + timestamp.toString());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = sdf.format(timestamp);
// date2--->2015-12-20 14:39:27
System.out.println("date2--->" + date);
}
@Test
// String转换为时间戳
public void stringToTimetamp() {
String time = "2015-12-20 14:30:20";
Timestamp timestamp = Timestamp.valueOf(time);
// timestamp--->2015-12-20 14:30:20.0
System.out.println("timestamp--->" + timestamp.toString());
}
@Test
// 时间戳转换为Date
public void timeStampToDate() {
// 获取系统当前时间的毫秒数
Long currentTimeMillis = System.currentTimeMillis();
// currentTimeMillis--->1450596088712
System.out.println("currentTimeMillis--->" + currentTimeMillis);
// java.sql.Timestamp
Timestamp timestamp = new Timestamp(currentTimeMillis);
// 子类向父类的转换
Date date = timestamp;
// date--->2015-12-20 15:21:28.712
System.out.println("date--->" + date);
// Sun Dec 20 15:21:28 CST 2015
System.out.println(new Date(timestamp.getTime()));
}
@Test
// Date转换为时间戳
public void dateToTimeStamp() {
// 获取系统当前时间
Date date = new Date();
// date--->Sun Dec 20 15:07:35 CST 2015
System.out.println("date--->" + date);
// java.sql.Timestamp
Timestamp timestamp = new Timestamp(date.getTime());
// timestamp--->2015-12-20 15:07:35.852
System.out.println("timestamp--->" + timestamp);
}
@Test
// 将20151220153612类型转换为2015-12-20 15:36:12
public void stringToString() {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1 = sdf1.format(new Date());
// date1--->20151220154829
System.out.println("date1--->" + date1);
try {
String date2 = sdf2.format(sdf1.parse(date1));
// date2--->2015-12-20 15:48:29
System.out.println("date2--->" + date2);
} catch (ParseException e) {
e.printStackTrace();
}
}
@Test
// 将java.util.Date转换为java.sql.Date;
public void dateToSqlDate() {
// java.util.Date是在除SQL语句之外的情况下使用
// java.sql.Date是针对SQL语句使用的,只包含日期而没有时间部分
// PreparedStatement中方法void setDate(int parameterIndex, java.sql.Date x)
// throws SQLException;
java.sql.Date sqlDate1 = new java.sql.Date(System.currentTimeMillis());
// sqlDate1--->2015-12-20,损失精确度
System.out.println("sqlDate1--->" + sqlDate1);
Date utilDate = new Date();
// utilDate--->Sun Dec 20 16:12:39 CST 2015
System.out.println("utilDate--->" + utilDate);
java.sql.Date sqlDate2 = new java.sql.Date(utilDate.getTime());
// sqlDate2--->2015-12-20
System.out.println("sqlDate2--->" + sqlDate2);
java.sql.Time sqlTime = new Time(utilDate.getTime());
// sqlTime--->16:12:39
System.out.println("sqlTime--->" + sqlTime);
java.sql.Timestamp sqlTimeStamp = new Timestamp(utilDate.getTime());
// sqlTimeStamp--->2015-12-20 16:12:39.703
System.out.println("sqlTimeStamp--->" + sqlTimeStamp);
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date sqlDate3 = java.sql.Date.valueOf(sdf1.format(utilDate));
// sqlDate3--->2015-12-20
System.out.println("sqlDate3--->" + sqlDate3);
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sqlDate4 = sdf2.format(sqlDate3);
// sqlDate4--->2015-12-20 00:00:00
System.out.println("sqlDate4--->" + sqlDate4);
}
@Test
// 将java.sql.Date转换为java.util.Date;
public void sqlDateToDate() {
// 有参构造new java.sql.Date(long date);
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
//sqlDate--->2015-12-20
System.out.println("sqlDate--->" + sqlDate);
Date date = new Date(sqlDate.getTime());
//date--->Sun Dec 20 16:23:53 CST 2015
System.out.println("date--->" + date);
}
}
JAVA中关于时间的转换
最新推荐文章于 2022-03-27 12:47:30 发布