[問題] 時間字串轉換時區

作者: lisa090914 (好天氣,好心情~)   2018-10-30 00:58:53
大家好~
目前正在開發的功能是取用量測心跳的SDK (非apple 官方提供),其中一個function會回
傳量測的時間,但是有時差+8hr的問題。
比如說:回傳的時間是 10/29 15:00 (GMT+0),但實際上應該是10/29 23:00 (GMT+8)
因為技術問題無法改動原SDK,只好我自己再接收到回傳值再做更改。
有Google過相關問題了,照著做卻發現時間變成 10/29 07:00....
如圖
https://i.imgur.com/UHDy9H0.jpg
後來看到這篇,發現會自動把input的時區默認為當前時區(GMT+8)
https://blog.csdn.net/shenjie_xsj/article/details/79033861
(可以直接看文章最下面的註解)
想請問有什麼方法才能得到正確時區的時間呢?
謝謝各位解惑Orz
<更新>
剛剛發現把dateFormatter的時區改成UTC,得到的Date object顯示的時間是對的,但我
要轉成String就有變成15:00了,這裡請問要怎麼改呢?
https://i.imgur.com/5Byqm5P.jpg
作者: uranusjr (←這人是超級笨蛋)   2018-10-30 01:20:00
TimeZone(abbreviation: "UTC")不過我覺得你要去補充一點關於時區的知識比較好https://unix4lyfe.org/time/
作者: cryinglove (毓™)   2018-10-30 01:25:00
gmt+0 15:00 == gmt+8 23:00
作者: luckycan (罐頭)   2018-10-30 02:35:00
Data本身print出來預設是+0的時間Date...Dateformatter本身會帶出你所在的時區時間,即+8意思就是你給的字串時間他會認定是給+8的時間
作者: gundam00 (傻那駕駛中)   2018-10-30 02:41:00
https://i.imgur.com/hBKYhmr.png?1 看你要第一次校正或第二次校正的date
作者: cryinglove (毓™)   2018-10-30 08:12:00
作者: G888888   2018-10-30 09:26:00
之前也困擾著這個問題,但我在playground swift4.1好像就不用再轉換了,直接當地的時間
作者: yuanruo (罪を憎んで人を憎まず)   2018-10-30 19:26:00
先把server回傳字串轉回date變+0 然後用calendar method的hour +timezone再轉回字串

Links booklink

Contact Us: admin [ a t ] ucptt.com