package com.utils;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 时间戳与字符串转换
* @author lijianli
*
*/
public class DateUtil {
/**
* 默认日期格式(按需)
*/
private static final String DEFAULT_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
private static final String DEFAULT_FORMAT1 = "yyyy-MM-dd HH:mm:ss";
private static final String DEFAULT_FORMAT2 = "yyyy-MM-dd HH:mm";
/**
* 默认构造函数
*/
private DateUtil() {}
/**
* 字符串转换成日期 如果转换格式为空,则利用默认格式进行转换操作
* @param str 字符串
* @param format 日期格式
* @return 日期
* @throws java.text.ParseException
*/
public static Date str2Date(String str, String format){
if (null != str && !"".equals(str)) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date date = null;
try {
date = sdf.parse(str);
return date;
} catch (ParseException e) {
e.printStackTrace();
}
}
return null;
}
/** 日期转换为字符串
* @param date 日期
* @param format 日期格式
* @return 字符串
*/
public static String date2Str(Date date, String format) {
if (null != date && !"".equals(date)) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}
return null;
}
/**
* 时间戳转换为字符串
* @param time
* @return
*/
public static String timestamp2Str(Timestamp time) {
if(null != time && !"".equals(time)){
Date date = new Date(time.getTime());
return date2Str(date, DEFAULT_FORMAT);
}
return null;
}
/** 字符串转换时间戳
* @param str
* @return
*/
public static Timestamp str2Timestamp(String str) {
if(null != str && !"".equals(str)){
Date date = str2Date(str, DEFAULT_FORMAT);
return new Timestamp(date.getTime());
}
return null;
}
public static void main(String[] args) throws Exception {
String tm = "2011-01-01 10:00:00.123";
Timestamp tstamp = str2Timestamp(tm);
System.out.println(tstamp);
System.out.println(timestamp2Str(tstamp));
System.out.println(timestamp2Str(null));
System.out.println(str2Timestamp(null));
}
}