日期字串和時間戳相互轉換Java程式碼
阿新 • • 發佈:2019-02-11
最近在做畢業設計的時候,遇到一個需求,拿到一些時間格式,類似於"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(); } }