1. 程式人生 > >日期字串和時間戳相互轉換Java程式碼

日期字串和時間戳相互轉換Java程式碼

最近在做畢業設計的時候,遇到一個需求,拿到一些時間格式,類似於"2012-12-01 12:02:00" 這樣的時間格式,然後讓程式以這些時間為起點,生成類似於"2012-12-01 12:02:01","2012-12-01 12:02:02","2012-12-01 12:02:03"。。。。。後面一個時間是前面一個時間累加1s的結果。

思路:需要把"2012-12-01 12:02:00" 這樣的日期生成生成時間戳,讓時間戳累加1s,再把時間戳轉換成這樣的日期格式。

現在的問題就到了如何 將類似於"2012-12-01 12:02:00" 日期字串轉換成時間戳,以及時間戳如何轉變回日期字串。話不多說,程式碼如下:

public class Test{
public void test() {
	String stime = "2012-12-01 12:02:00";
	String timeStamp2 = date2TimeStamp(stime, "yyyy-MM-dd HH:mm:ss");
	System.out.println(timeStamp2);
	int times = Integer.parseInt(timeStamp2)+1;
	String date = timeStamp2Date(String.valueOf(times), "yyyy-MM-dd HH:mm:ss");  
	System.out.println(date);
}


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 "";  
}


public static String timeStamp2Date(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")));  
}  


public static void main(String[] args) {
        Test test1 = new Test();
	test1 .test();
}
}