最近在做毕业设计的时候,遇到一个需求,拿到一些时间格式,类似于"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();
}
}