JAVA中关于时间的转换

来源:互联网 发布:mac队武器纪念馆 编辑:程序博客网 时间:2024/05/30 23:36
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转换为Stringpublic void dateToString() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String date = sdf.format(new Date());// date--->2015-12-20 14:18:59System.out.println("date--->" + date);}@Test// String转换为Datepublic 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 2015System.out.println("date1--->" + date1);Date date2 = sdf2.parse(time2);// date2--->Sun Dec 20 14:18:20 CST 2015System.out.println("date2--->" + date2);} catch (ParseException e) {e.printStackTrace();}}@Test// 时间戳转换为Stringpublic void timeStampToString() {// 获取系统当前时间的毫秒数Long currentTimeMillis = System.currentTimeMillis();// currentTimeMillis--->1450593244978System.out.println("currentTimeMillis--->" + currentTimeMillis);// java.sql.TimestampTimestamp timestamp = new Timestamp(currentTimeMillis);// date1--->2015-12-20 14:34:04.978System.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:27System.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.0System.out.println("timestamp--->" + timestamp.toString());}@Test// 时间戳转换为Datepublic void timeStampToDate() {// 获取系统当前时间的毫秒数Long currentTimeMillis = System.currentTimeMillis();// currentTimeMillis--->1450596088712System.out.println("currentTimeMillis--->" + currentTimeMillis);// java.sql.TimestampTimestamp timestamp = new Timestamp(currentTimeMillis);// 子类向父类的转换Date date = timestamp;// date--->2015-12-20 15:21:28.712System.out.println("date--->" + date);// Sun Dec 20 15:21:28 CST 2015System.out.println(new Date(timestamp.getTime()));}@Test// Date转换为时间戳public void dateToTimeStamp() {// 获取系统当前时间Date date = new Date();// date--->Sun Dec 20 15:07:35 CST 2015System.out.println("date--->" + date);// java.sql.TimestampTimestamp timestamp = new Timestamp(date.getTime());// timestamp--->2015-12-20 15:07:35.852System.out.println("timestamp--->" + timestamp);}@Test// 将20151220153612类型转换为2015-12-20 15:36:12public void stringToString() {SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddHHmmss");SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String date1 = sdf1.format(new Date());// date1--->20151220154829System.out.println("date1--->" + date1);try {String date2 = sdf2.format(sdf1.parse(date1));// date2--->2015-12-20 15:48:29System.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 2015System.out.println("utilDate--->" + utilDate);java.sql.Date sqlDate2 = new java.sql.Date(utilDate.getTime());// sqlDate2--->2015-12-20System.out.println("sqlDate2--->" + sqlDate2);java.sql.Time sqlTime = new Time(utilDate.getTime());// sqlTime--->16:12:39System.out.println("sqlTime--->" + sqlTime);java.sql.Timestamp sqlTimeStamp = new Timestamp(utilDate.getTime());// sqlTimeStamp--->2015-12-20 16:12:39.703System.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-20System.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:00System.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-20System.out.println("sqlDate--->" + sqlDate);Date date = new Date(sqlDate.getTime());//date--->Sun Dec 20 16:23:53 CST 2015System.out.println("date--->" + date);}}

0 0
原创粉丝点击