1、時間戳簡介:
時間戳的定義:通常是一個字元序列,唯一地標識某一刻的時間。數字時間戳技術是數字簽名技術一種變種的應用。是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數(引用自百度百科)
2、Java中的時間戳:
在不同的開發語言中,獲取到的時間戳的長度是不同的,例如C++中的時間戳是精確到秒的,但是Java中的時間戳是精確到毫秒的,這樣在涉及到不同語言的開發過程中,如果不進行統一則會出現一些時間不準確的問題。
3、Java中的兩種獲取精確到秒的時間戳的方法:
Java中的時間戳的毫秒主要通過最後的三位來進行計量的,我們通過兩種不同的方式將最後三位去掉。
方法一:通過String.substring()方法將最後的三位去掉
- /**
- * 獲取精確到秒的時間戳
- * @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;
- }
- }
/**
* 獲取精確到秒的時間戳
* @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;
}
}
方法二:通過整除將最後的三位去掉
- /
- 獲取精確到秒的時間戳
- @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);
- }
/
* 獲取精確到秒的時間戳
* @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);
}