【问题标题】:SwiftUI - Date formating (leading zeros) [duplicate]SwiftUI - 日期格式(前导零)[重复]
【发布时间】:2020-10-27 11:48:45
【问题描述】:

所以..我的问题是:我需要解析以下字符串(来自请求的响应)-“PT9H”到“09.00” 到目前为止,我有以下代码:

    let input = "PT9H"
    let formatter = DateFormatter()
    formatter.dateFormat = "'PT'HH'H'"

    let date = formatter.date(from: input)
    let time = "\(Calendar.current.component(.hour, from: date)).\(Calendar.current.component(.minute, from: date))"
    return "\(time)"

我得到的结果是:“9.0”,我需要结果中的前导零,例如:“09:00”。有任何想法吗?提前致谢,干杯!

【问题讨论】:

  • "PT9H" 是 ISO 8601 格式的持续时间,而不是日期。

标签: swift date formatting


【解决方案1】:

你可以像这样格式化值:

let hour = Calendar.current.component(.hour, from: date)
let min = Calendar.current.component(.minute, from: date)

let time = String(format: "%02d:%02d", hour, min)

但是,这不会在不同的时区同样工作,并且会产生问题,因为 API 响应不是日期而是持续时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-10
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 2015-06-06
    • 2010-12-14
    相关资源
    最近更新 更多