Java时间戳与日期格式字符串的互转
代码:
此类是精确到秒的 ,如需精确到毫秒(不除于1000)就行
public class TimeStampUtils {
/**
* 时间戳转换成日期格式字符串
* @param seconds 精确到秒的字符串
* @param format
* @return
*/
public static String timeStampDate2(String seconds,String format) {
if(seconds == null || seconds.isEmpty() || seconds.equals("null")){
return "";
}
if(format == null || format.isEmpty()){
format = "yyyy-MM-dd HH:mm:ss";
}
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(new Date(Long.valueOf(seconds+"000")));
}
/**
* 日期格式字符串转换成时间戳
*
* @param date_str
* @param format 如:yyyy-MM-dd HH:mm:ss
* @return
*/
public static String date2TimeStamp(String date_str, String format) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return String.valueOf(sdf.parse(date_str).getTime() / 1000);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
/**
* 取得当前时间戳(精确到秒)
*
* @return
*/
public static String timeStamp() {
long time = System.currentTimeMillis();
String secondsTime = String.valueOf(time / 1000);
return secondsTime;
}
测试
public void test1(){
//获取当前时间戳,精确当秒
String timeStamp = TimeStampUtils.timeStamp();
System.out.println("获取当前时间戳===="+timeStamp);
/**
* timeStamp = 当前时间戳
* 把当前时间戳 转换为日期格式
*/
String s = TimeStampUtils.timeStampDate2(timeStamp, "yyyy-MM-dd HH:mm:ss");
System.out.println("时间戳转换日期格式s:====="+s);
/**
* S = 时间戳转换后的日期时间
* format :转换日期的格式
*/
String s2 = TimeStampUtils.date2TimeStamp(s,"yyyy-MM-dd HH:mm:ss");
System.out.println("日期格式转换时间戳:====="+s2);
}
