java時間格式轉化

dw5235發表於2020-10-21

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
    /**
     * 時間戳轉換成日期格式字串
     * @param seconds 精確到秒的字串
     * @param formatStr
     * @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")));  
    }  
    /**
     * 日期格式字串轉換成時間戳
     * @param date 字串日期
     * @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 t = String.valueOf(time/1000);  
        return t;  
    }  

    public static void main(String[] args) {  
        String timeStamp = timeStamp();  
        System.out.println("timeStamp="+timeStamp); //執行輸出:timeStamp=1470278082
        System.out.println(System.currentTimeMillis());//執行輸出:1470278082980
        //該方法的作用是返回當前的計算機時間,時間的表達格式為當前計算機時間和GMT時間(格林威治時間)1970年1月1號0時0分0秒所差的毫秒數
        
        String date = timeStamp2Date(timeStamp, "yyyy-MM-dd HH:mm:ss");  
        System.out.println("date="+date);//執行輸出:date=2016-08-04 10:34:42
        
        String timeStamp2 = date2TimeStamp(date, "yyyy-MM-dd HH:mm:ss");  
        System.out.println(timeStamp2);  //執行輸出:1470278082
    }  
}

相關文章