在控制台Date()中打印给出错误的当前时间

时间:2018-07-29 15:12:38

标签: swift date datetime time uikit

我创建了一个具有创建日期属性的对象。 date属性是使用Date()函数计算的,用于获取当前日期和时间。

日期是正确的,但时间比模拟器的时钟晚3个小时。我该如何解决?

1 个答案:

答案 0 :(得分:1)

系统显示UTC / GMT的当前日期/时间。

获取本地时区的时间/日期。使用以下代码:

let currentDate = Date()
//7/29/18, 9:09 PM
print (DateFormatter.localizedString(
    from: currentDate,
    dateStyle: .short,
    timeStyle: .short))

//Sunday, July 29, 2018 at 9:09:27 PM India Standard Time
print (DateFormatter.localizedString(
    from: currentDate,
    dateStyle: .full,
    timeStyle: .full))

//Jul 29, 2018 at 9:09:27 PM
print (DateFormatter.localizedString(
    from: currentDate,
    dateStyle: .medium,
    timeStyle: .medium))

以上代码于2018年7月29日晚上9:09在印度进行了测试。