gpt4 book ai didi

ios - 如何用 "Today at xx:xx pm", "Yesterday at xx:xx am"之类的人类语言显示日期?

转载 作者:IT王子 更新时间:2023-10-29 05:16:34 26 4
gpt4 key购买 nike

我有一个日期“2014-07-02 20:57:38 +0000”,我想将它的格式设置为“今天晚上 8:57”。我希望如果一个字符串是昨天,则将其显示为“昨天上午 9:00”。如果既不是今天也不是昨天,只需显示实际日期,例如“27/6 at 7:53 pm”。

我能够使用下面的代码获取格式为“8:57 AM”的时间。

            var formatter : NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "h:mm a"

// message.createdAt is the date
let dateString = formatter.stringFromDate(message.createdAt)
println(dateString)

//output = 8:57 AM

但是,当我使用下面的代码时,它返回一个空字符串。

            var formatter : NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "h:mm a"
formatter.doesRelativeDateFormatting = true //<-- This doesn't work

let dateString = formatter.stringFromDate(message.createdAt)
println(dateString)

//output = (nothing, its a blank string)

如何在 Swift 中使它工作并显示“今天”或“昨天”?

最佳答案

它为空的原因是您的日期格式只有时间部分。结合 .doesRelativeDateFormatting 给你空字符串。如果您想要自定义时间格式,我认为您需要单独的日期和时间格式化程序:

let now = NSDate()

let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = .MediumStyle
dateFormatter.doesRelativeDateFormatting = true

let timeFormatter = NSDateFormatter()
timeFormatter.dateFormat = "h:mm a"

let time = "\(dateFormatter.stringFromDate(now)), \(timeFormatter.stringFromDate(now))"
println(time) // prints "Today, 5:10 PM"

关于ios - 如何用 "Today at xx:xx pm", "Yesterday at xx:xx am"之类的人类语言显示日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com