【问题标题】:How to combine two strings (date & time) into a new date in Swift 3如何在 Swift 3 中将两个字符串(日期和时间)组合成一个新日期
【发布时间】:2017-03-24 19:20:21
【问题描述】:

我正在尝试将两个日期字符串组合成一种允许新的单个日期的格式。第一个字符串是 .long 样式的格式字符串。第二个字符串只是一个时间字符串。值如下所示:

let date = "March 24, 2017"
let time = "7:00 AM"

我需要将这些字符串组合成一个新的日期,作为 iOS 快速日期。我尝试了各种 DateFormatter 并将字符串合并在一起,但是 .Long 日期和 .short 时间的组合似乎不起作用。

【问题讨论】:

    标签: swift string date


    【解决方案1】:
    let date = "March 24, 2017"
    let time = "7:00 AM"
    
    let dateFormatter = DateFormatter()
    dateFormatter.locale = Locale(identifier: "en_US_POSIX")
    dateFormatter.dateFormat = "MMMM dd, yyyy 'at' h:mm a"
    let string = date + " at " + time                       // "March 24, 2017 at 7:00 AM"
    let finalDate = dateFormatter.date(from: string)
    print(finalDate?.description(with: .current) ?? "")  // "Friday, March 24, 2017 at 7:00:00 AM Brasilia Standard Time"
    

    【讨论】:

    • 感谢您快速转身,我错过了“at”部分。问候。
    • 没有必要将" at " 放在两个字符串之间和格式化程序中。只需使用一个空格。
    • @LeoDabus 但是没有什么可读的。目标是创建Date,而不是String。您当然不需要更易读的字符串来将其解析为Date
    • @rmaddy 很好看,这样甚至不需要空间
    • @LeoDabus 可能不会。
    猜你喜欢
    • 1970-01-01
    • 2015-02-11
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    相关资源
    最近更新 更多