0
A
回答
-1
您可以創建只返回如下所示的時區的日期格式化程序。將縮寫更改爲您正在查找的任何時區。
let timeZoneOnlyDateFormatter: DateFormatter = {
let formatter = DateFormatter()
formatter.timeZone = TimeZone(abbreviation: "UTC")
formatter.dateStyle = .none
formatter.timeStyle = .none
return formatter
}()
並使用這些函數將其轉換爲字符串或將您的字符串轉換爲日期。
func formatDateIntoString(date: Date, dateFormatter: DateFormatter) -> String {
return dateFormatter.string(from: date)
}
func formatStringIntoDate(string: String, dateFormatter: DateFormatter) -> Date! {
return dateFormatter.date(from: string)
}
3
不幸的是,DateFormatter
是沒有幫助,因爲你不想Date
也沒有提供關於約一個解析日期字符串的任何時區信息的任何信息。並且TimeZone
沒有任何可以解析時區偏移字符串的初始值設定項。
所以你將不得不自己去做這項工作。由於您有固定格式的日期字符串,因此您知道時區偏移量始終是字符串的最後6個字符。其中最後2個是分鐘數,前3個是小時數(包括符號)。
從日期字符串中提取這兩個子字符串(小時和分鐘)。將它們轉換爲Int
。然後做一些簡單的數學計算以秒爲單位的偏移量(小時* 3600 +分鐘* 60)。
一旦以秒爲單位獲得了該偏移量,就可以使用init(secondsFromGMT:)
初始化程序創建一個TimeZone
實例。
相關問題
- 1. 提取Date對象
- 2. 從Date對象中獲取時區 - Java
- 3. 從列中提取SQL DATE
- 4. 如何從承諾中提取對象?
- 5. 如何從DOORS中提取OLE對象
- 6. 如何從對象中提取數據?
- 7. 如何從textarea中提取DOM對象?
- 8. 如何從StreamGeometry中提取Point對象?
- 9. 如何從圖像中提取對象
- 10. 如何從對象中提取值?
- 11. Java - Date value long值:TimeZone如何相關?
- 12. /Date(1381363200000)/從此Web服務響應中獲取Simple Date對象?
- 13. 如何從字符串中獲取Date對象?
- 14. 我如何從JavaScript中的cityname/timezone獲取timezoneid/datezone/timezone
- 15. 如何更換Date對象
- 16. 從cvFindContour中提取對象
- 17. RxJava:如何從可觀察對象中提取對象?
- 18. 如何從對象中提取多個json對象
- 19. 如何從Date()對象獲取日期和時間?
- 20. 如何從javascript Date對象獲取時區字符串?
- 21. 如何從此對象提取數據?
- 22. Ruby/Rails 3:如何從Time對象創建Date對象?
- 23. 獲取Date對象(半年前),從另一個日期對象
- 24. 如何在Java中驗證Date對象
- 25. 如何在SharedPreferences中存儲Date對象?
- 26. 如何操作java中的Date對象
- 27. 獲取Date對象中的Android
- 28. 從Date對象中減去日/月/年
- 29. 如何從字符串「HH:MM:SS」獲取TimeZone?
- 30. 如何在JavaScript中獲取Date對象的數字組件?
「日期」對象中沒有時區。請澄清你真正想要的。 – rmaddy
我已更新問題,thx。 – TruMan1
您沒有時區。你有一個從UTC的偏移量。請參閱[時區標記wiki](http://stackoverflow.com/tags/timezone/info)中的「時區!=偏移量」。 –