Re: [問題] 有關轉換時間
※ 引述《iamsewei (翠玉林志玲)》之銘言:
: 我有一個64bitn windows number 的時間字串
: 1396487878
: 在stackoverflow找到的方法
: http://ppt.cc/Ks6o
: 卻不會使用....
: Date date = new Date((1396487878));
: Log.i("main","cover date= "+date);
: 在android 上面我使用這樣印出來發現時間 是1970....不知道我哪裡有問題
: 希望熟悉的大大可以教一下 感謝Q_Q 網路沒甚麼資料
用回的好了
你可以查一下 Date 的說明
http://docs.oracle.com/javase/7/docs/api/java/util/Date.html
Date(long date) 這個建構子的說明有說到
這個 long 值是以毫秒數為單位
而你的時間是秒數 所以要乘上 1000
另外由於這是一個 64-bit 常數 所以請加上一個 L
(不然 1396487878000 比 2^31-1 = 2147483647 還大
編譯器會告訴你數值超出範圍)
所以你應該要寫成
Date date = new Date(1396487878000L);
另外你引的 stackoverflow 的連結所轉換的是 Windows 的 FILETIME
它的基準點跟單位都跟 Unix timestamp 不同
所以才需要扣掉那個大數字再除以一萬
(其實這裡也可以發現到我上面提的問題:
文中有提 FILETIME 以 100ns (10^-7 秒) 為單位
但是那個回答裡除的數字卻只有一萬
這就代表 Date 建構子需要的時間單位是 10^-3 秒)
--
1985/01/12 三嶋鳴海 1989/02/22 優希堂悟 1990/02/22 冬川こころ 1993/07/05 小町
つぐみ 歡迎來到 1994/05/21 高江ミュウ 1997/03/24 守野いづみ 1997/03/24 伊野瀬
チサト 1998/06/18 守野くるみ 打越鋼太郎的 1999/10/19 楠田ゆに 2000/02/15 樋口遙
2002/12/17 八神ココ 2011/01/11 HAL18於朱倉岳墜機 ∞與∫的世界 2011/04/02 茜崎空
啟動 2012/05/21 第貮日蝕計畫預定 2017/05/01~07 LeMU崩壞 2019/04/01~07 某大學合宿
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.30.32
※ 文章網址: http://www.ptt.cc/bbs/java/M.1402655490.A.ADA.html
→
06/13 18:32, , 1F
06/13 18:32, 1F
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章