缘起
系统中很多地方都需要记录时间,并针对时间做一些逻辑。
最常见的格式,应该属于 yyyy-MM-dd HH:mm:ss,Mysql数据库的时间戳比较就是用这个格式的时间。
而java中对应的Date默认输出是如下格式的
这种格式是格林威治时间.
这个格式我们可能不方便直接使用,有时就需要对时间进行一些转换
所以,这里记录一下时间转换常用的方法。
时间转换工具类
直接上代码
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeUtil {
public static final String PATTERN = "yyyy-MM-dd HH:mm:ss";
/**
* 将Date转换为指定日期格式的String
*/
public static Date string2Date(String timeString) throws ParseException {
SimpleDateFormat dateFormat = new SimpleDateFormat(PATTERN);
return dateFormat.parse(timeString);
}
/**
* 将Date转换为指定日期格式的String
*/
public static String date2String(Date date) {
SimpleDateFormat dateFormat = new SimpleDateFormat(PATTERN);
return dateFormat.format(date);
}
/**
* 将指定日期格式的String转换为Timestamp
*
* //参数timeString的格式必须为:"yyyy-MM-dd HH:mm:ss"
*/
public static Timestamp string2Timestamp(String timeString) {
return Timestamp.valueOf(timeString);
}
/**
* 将Timestamp转换为指定日期格式的String
*/
public static String timestamp2String(){
Timestamp timestamp = new Timestamp(System.currentTimeMillis());//获取系统当前时间
SimpleDateFormat df = new SimpleDateFormat(PATTERN);//定义日期显示格式
return df.format(timestamp);
}
/**
* 将Long类型时间戳,转换为Date
*/
public static Date long2Date(long time){
return new Date(time);
}
/**
* 将Date转换为Timestamp
*/
public static Date timestamp2Date2(Date date){
return new Timestamp(date.getTime());
}
}
github
分支tool-base
https://github.com/city2011/spring-try-best-practice-demo