時間戳轉換爲String

/*今天項目中碰到時間戳轉換問題,自己總結了一下。

Unix時間戳(Unix timestamp),或稱Unix時間(Unix time)是一種時間表示方式,定義爲從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。Unix時間戳不僅被使用在Unix 系統、類Unix系統中,也在許多其他操作系統中被採用。

目前相當一部分操作系統使用32位二進制數字表示時間。此類系統的Unix時間戳最多可以使用到格林威治時間2038年01月19日03時14分07秒(二進制:01111111 11111111 11111111 11111111)。其後一秒,二進制數字會變爲10000000 00000000 00000000 00000000,發生溢出錯誤,造成系統將時間誤解爲1901年12月13日20時45分52秒。這很可能會引起軟件故障,甚至是系統癱瘓。使用64位二進制數字表示時間的系統(最多可以使用到格林威治時間292,277,026,596年12月04日15時30分08秒)則基本不會遇到這類溢出問題*/


//1.把時間戳轉爲String時間格式

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

long time = new Long(1480428796)*1000L; //1480428796是unix時間戳,

String format = sdf.format(new Date(time));


//2.把時間戳轉爲Date類型時間格式

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

long time = new Long(1480428796)*1000L;

Date date=format.parse(time);


//3.Date或者String轉化爲時間戳

SimpleDateFormat sdf =  newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");  

String time="2017-05-10 11:45:55"

Date date = format.parse(time);

long time2 = date.getTime();



//4.java中生成的時間戳精確到毫秒,unix中精確到秒,由java生成的時間戳需要除以1000
String time = "2017-05-10 11:45:55"

Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time); 

long unixTime = date.getTime()/1000

System.out.println(unixTime);


發佈了19 篇原創文章 · 獲贊 19 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章