相关疑难解决方法(0)

如何在Swift中以短格式获取当前日期

在下面的图片中,您可以看到我编写的代码和所有变量的值:

class fun getCurrentShortDate() -> String {
    var todaysDate = NSDate()
    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "dd-MM-yyyy"
    var DateInFormat = dateFormatter.stringFromDate(todaysDate)

    return DateInFormat
}
Run Code Online (Sandbox Code Playgroud)

变量值

正如您所看到的那样,当前日期没有问题,但是当我尝试将NSDate更改为字符串时,它就不会这样做了.

date nsdate nsdateformatter swift dateformatter

22
推荐指数
5
解决办法
4万
查看次数

NSDate()或Date()显示错误的时间

当我尝试记录当前日期时:

print(NSDate())
Run Code Online (Sandbox Code Playgroud)

要么

print(Date()) 
Run Code Online (Sandbox Code Playgroud)

(在Swift 3中)

或者任何日期对象,它显示错误的时间.例如,现在大概是16:12,但是上面显示了

2016-10-08 20:11:40 +0000
Run Code Online (Sandbox Code Playgroud)

我的日期是在错误的时区吗?如何修复日期以获得正确的时区?

为什么这样,以及如何解决它?如何在打印语句或调试器中轻松地在本地时区中显示任意日期?

(请注意,这个问题是一个"振铃",因此我可以提供一个简单的Swift 3/Swift 2 Date/NSDate扩展,让您可以轻松地在本地时区显示任何日期对象.

date nsdate swift

5
推荐指数
1
解决办法
8181
查看次数

标签 统计

date ×2

nsdate ×2

swift ×2

dateformatter ×1

nsdateformatter ×1