MSSQL DateTime欄位時間轉成當地時區時間

看板java作者 (BlueCancer)時間11年前 (2014/07/13 21:43), 11年前編輯推噓1(1012)
留言13則, 2人參與, 最新討論串1/1
http://goo.gl/FKfOKL 用joda-time (http://www.joda.org/joda-time/ )寫了一隻 把sqlserver DateTime欄位上伺服器時間轉成當地時間丟給使用者 可以使用http://www.timeanddate.com/worldclock/converter.html測試橫跨日光節約 時間 日光節約時間起迄日請參考http://www.timeanddate.com/time/change/ 也可參考以下資料,自己也還再研究摸索中>"< http://www.slideshare.net/kojilin/java8-time http://www.ithome.com.tw/node/80076 只是joda-time好像沒判斷日期超過31天或是秒分超過60...等 資料庫上的時間我確定是對的,就沒對這一塊再做處理 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 23.99.102.249 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1405259029.A.FAF.html ※ 編輯: rexhuang (114.25.102.88), 07/14/2014 01:24:41

07/14 20:56, , 1F
抓下來的datetime如果是2014-05-29 20:36:45.560
07/14 20:56, 1F

07/14 20:56, , 2F
後面的0會被去掉,只好不足自己後面補0
07/14 20:56, 2F

07/14 20:57, , 3F
07/14 20:57, 3F

07/14 20:58, , 4F
在java6跑會java.lang.IllegalArgumentException
07/14 20:58, 4F

07/14 20:58, , 5F
Illegal pattern character 'X'
07/14 20:58, 5F

07/14 21:24, , 6F
為什麼不是直接去處理java.util.Data or java.sql.Date
07/14 21:24, 6F

07/14 21:24, , 7F
而是去處理字串?
07/14 21:24, 7F

07/14 22:52, , 8F
日期是ResultSet.getString()下來,return type是String
07/14 22:52, 8F

07/14 22:53, , 9F
所以POC程式就宣告成String
07/14 22:53, 9F

07/14 22:54, , 10F
Java 6不能使用ISO 8601 time zone,改用RFC 822 timezone
07/14 22:54, 10F
※ 編輯: rexhuang (23.99.96.67), 07/14/2014 22:57:54

07/15 10:57, , 11F
為什麼不用ResultSet.getDate()?
07/15 10:57, 11F

07/16 00:12, , 12F
謝謝指教,寫慣Hibenate太久沒寫有點忘了(藉口) >"<
07/16 00:12, 12F

07/16 00:13, , 13F
上班來把它改成ResultSet.getDate()
07/16 00:13, 13F
文章代碼(AID): #1JmeqL-l (java)
文章代碼(AID): #1JmeqL-l (java)