Java獲取精確到秒的時間戳(轉)

weixin_33896726發表於2017-07-07

1、時間戳簡介:

時間戳的定義:通常是一個字元序列,唯一地標識某一刻的時間。數字時間戳技術是數字簽名技術一種變種的應用。是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數(引用自百度百科)

2、Java中的時間戳:

在不同的開發語言中,獲取到的時間戳的長度是不同的,例如C++中的時間戳是精確到秒的,但是Java中的時間戳是精確到毫秒的,這樣在涉及到不同語言的開發過程中,如果不進行統一則會出現一些時間不準確的問題。

3、Java中的兩種獲取精確到秒的時間戳的方法:

Java中的時間戳的毫秒主要通過最後的三位來進行計量的,我們通過兩種不同的方式將最後三位去掉。

方法一:通過String.substring()方法將最後的三位去掉

  1. /** 
  2.  * 獲取精確到秒的時間戳 
  3.  * @return 
  4.  */  
  5. public static int getSecondTimestamp(Date date){  
  6.     if (null == date) {  
  7.         return 0;  
  8.     }  
  9.     String timestamp = String.valueOf(date.getTime());  
  10.     int length = timestamp.length();  
  11.     if (length > 3) {  
  12.         return Integer.valueOf(timestamp.substring(0,length-3));  
  13.     } else {  
  14.         return 0;  
  15.     }  
  16. }  
    /**
     * 獲取精確到秒的時間戳
     * @return
     */
    public static int getSecondTimestamp(Date date){
        if (null == date) {
            return 0;
        }
        String timestamp = String.valueOf(date.getTime());
        int length = timestamp.length();
        if (length > 3) {
            return Integer.valueOf(timestamp.substring(0,length-3));
        } else {
            return 0;
        }
    }



方法二:通過整除將最後的三位去掉


  1. / 
  2.   獲取精確到秒的時間戳 
  3.   @param date 
  4.   @return 
  5.  /  
  6. public static int getSecondTimestampTwo(Date date){  
  7.     if (null == date) {  
  8.         return 0;  
  9.     }  
  10.     String timestamp = String.valueOf(date.getTime()/1000);  
  11.     return Integer.valueOf(timestamp);  
  12. }  
 /
* 獲取精確到秒的時間戳
* @param date
* @return
*/
public static int getSecondTimestampTwo(Date date){
if (null == date) {
return 0;
}
String timestamp = String.valueOf(date.getTime()/1000);
return Integer.valueOf(timestamp);
}




相關文章