我有一个字符串要以“Sat,Jan 30 @ 11:00 AM”的形式从网络中提取,并将其转换为NSDate。我可以使用下面的代码来执行此操作,但是年份默认为2000。

如何为NSDate将年份设置为当前年份?

                    var dateString = "Sat, Jan 30 @ 11:00 AM"

                    let dateFormatter = NSDateFormatter()

                    dateFormatter.dateFormat = "EEE, MMM dd @ hh:mm a"

                    let date = dateFormatter.dateFromString(dateString)

                    //date output is 2000-01-30 19:00:00 +0000

我相信这是Objective-C的答案:
a date string without year to NSDate with year

谢谢!

最佳答案

不确定这是否是最好的方法,因为我是编程新手。但是我会做类似的事情,我猜可以很好地工作(我知道顺序有点令人困惑,但是我只是在几分钟内做到了,而没有使代码“看起来不错” ^^):

var dateString = "Sat, Jan 30 @ 11:00 AM"

    let dateFormatter = NSDateFormatter()

    dateFormatter.dateFormat = "YYYY EEE, MMM dd @ hh:mm a"

    //let date = dateFormatter.dateFromString(dateString)

    let currentDate = NSDate()
    let newFormatter = NSDateFormatter()
    newFormatter.dateFormat = "YYYY"

    let YearString = newFormatter.stringFromDate(currentDate)
    let newDateString = String(YearString + " " + dateString)
    let date = dateFormatter.dateFromString(newDateString)
    print(date)

关于ios - 将NSDate从String设置为当前年份,不带年份,Swift,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35027296/

10-13 06:34