我想解析06/19/2022 01:00 PDT个日期.

使用新的Date.ParseStrategy(format:),我写道:

import Foundation


let dateFromNetwork = "06/19/2022 01:00 PDT"

let strategy = Date.ParseStrategy(format: "\(month: .twoDigits)/\(day: .twoDigits)/\(year: .defaultDigits) \(hour: .twoDigits(clock: .twelveHour, hourCycle: .zeroBased)):\(minute: .twoDigits)", timeZone: .init(abbreviation: "PDT")!)

let date = try! Date(dateFromNetwork, strategy: strategy)
// Cannot parse 06/19/2022 01:00 PDT
// String should ahere to specified format, such as 06/20/2022 01:00

如何处理时区PDT的最新部分?

推荐答案

try 以下策略:

let strategy = Date.ParseStrategy(format: "(month: .twoDigits)/(day: .twoDigits)/(year: .defaultDigits) (hour: .twoDigits(clock: .twelveHour, hourCycle: .zeroBased)):(minute: .twoDigits) PDT", timeZone: .init(abbreviation: "PDT")!)

在您的情况下,您的格式中没有使用timeZone.

Swift相关问答推荐

动画过程中的SwiftUI重绘视图

更改正在进行的异步任务的完成(SWIFT并发)(&q;)?

了解SWIFT中的任务行为

SWIFT异步/等待,多个监听程序

有条件地在同一视图上设置两个不同的过渡

SwiftUI 组合问题:通过 AppEventsManager 在 ViewModel 之间共享数据

在Equatable上引用运算符函数==要求Dictionary.Values符合Equatable

Swift 包管理器 Package.resolved 文件末尾的版本是什么意思?

将每个枚举 case 与 Swift 中的一个类型相关联

如何在一个视图控制器中创建具有相同行为的多个集合视图?

任何使 ScrollView 像 List 一样执行更灵活的修饰符?

Swift:withCheckedContinuation 和 Dispatch QoSClass

为什么更改属性后动画会加速? SwiftUI

Xcode 13.3 将函数调用更改为属性访问

在 Swift 中强制崩溃的最简单方法

在 Swift 中获取双精度的小数部分

CMutablePointer - 如何访问它?

如何在 SwiftUI 中创建带有图像的按钮?

为什么枚举具有计算(computed)属性但在 Swift 中没有存储属性?

如何从 iOS 应用程序中删除场景委托?