[問題] 已知UTC時間 轉換時區的計算方式

看板C_and_CPP (C/C++)作者 (大碗滷肉飯男孩)時間2年前 (2021/10/27 23:08), 編輯推噓5(5013)
留言18則, 5人參與, 2年前最新討論串1/2 (看更多)
如題, 今天我有一個Input UTC時間(2021-10-27T23:03:00Z),與TimeZone A。 要怎麼將時間從時區A轉到指定的時區B呢? 目前能想到及找到的方法是去解析輸入的UTC時間,轉換為time_t變數資料, 再看 Timezone的時差多少加上去,最後再用localtime()去轉回tm struct去做後續處理。 想問有沒有更有效率的做法呢?謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.72.70.181 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1635347298.A.620.html

10/28 10:08, 2年前 , 1F
就是這樣做,你這格式不能也不需要用 curl 幫忙 parse
10/28 10:08, 1F

10/28 10:09, 2年前 , 2F
sscanf 就可以簡單拆成年月日時分秒了
10/28 10:09, 2F

10/28 12:13, 2年前 , 3F
是說 C++20 在 <chrono> 好像有一系列這方面的處理函數
10/28 12:13, 3F

10/28 12:14, 2年前 , 4F
不過處理出來就不是 struct tm 而是 chrono:: 下的東西
10/28 12:14, 4F

10/28 20:22, 2年前 , 5F
感謝回覆
10/28 20:22, 5F

10/28 22:46, 2年前 , 6F
手動加時區不會沒考慮到日光節約時間嗎?
10/28 22:46, 6F

10/28 23:11, 2年前 , 7F
時區名稱是分開的,PST 是太平洋標準時間 (UTC-8)
10/28 23:11, 7F

10/28 23:12, 2年前 , 8F
PDT 是太平洋日光節約時間 (UTC-7),不會混淆
10/28 23:12, 8F

10/28 23:12, 2年前 , 9F
但如果是自動切換日光節約時間那就超複雜了
10/28 23:12, 9F

10/28 23:12, 2年前 , 10F
還要考慮到各國的開始結束日期都不一樣的問題
10/28 23:12, 10F

10/28 23:13, 2年前 , 11F
美國人玩德國伺服器(或反之)就會遇到這個日期差異問題
10/28 23:13, 11F

10/28 23:19, 2年前 , 12F
那麼如果要靠現成 library 幫你做自動轉換,並不是每個
10/28 23:19, 12F

10/28 23:19, 2年前 , 13F
library 都有這功能,就算有做也不見得有跟上最新法令XD
10/28 23:19, 13F

10/28 23:20, 2年前 , 14F
像美國的開始結束日期就調整過不只一次擴大夏令長度
10/28 23:20, 14F

10/29 00:01, 2年前 , 15F
原來如此,感謝S大解惑
10/29 00:01, 15F

10/29 10:23, 2年前 , 16F
長知識了 感謝回覆
10/29 10:23, 16F

10/30 14:22, 2年前 , 17F
10/30 14:22, 17F

10/30 14:22, 2年前 , 18F
連parsing 都有了
10/30 14:22, 18F
文章代碼(AID): #1XUMjYOW (C_and_CPP)
文章代碼(AID): #1XUMjYOW (C_and_CPP)