数据采集器选择错误的日期[英] Datepicker picks wrong date

本文是小编为大家收集整理的关于数据采集器选择错误的日期的处理方法,想解了数据采集器选择错误的日期的问题怎么解决?数据采集器选择错误的日期问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在将日期转换为日期,但如果我只是 println() 在日期选择器中选择当前日期,我会得到错误的时间和日期.

@IBOutlet weak var datepicker: UIDatePicker!

@IBAction func displayDay(sender: AnyObject) {
    var chosenDate = self.datepicker.date

    println(chosenDate)

我已经选择了日期.在此处输入图片描述

然后单击日期选择器下方的按钮.我在输出中得到以下行

 2015-01-11 20:17:37 +0000

谁能告诉我.输出有什么问题?

推荐答案

这很好,因为日期选择器使用其本地时间,但它存储 UTC 时间.这意味着您的本地时间偏移量是-5h.您可以执行以下操作以从中提取正确的日期和时间:

extension NSDate {
    var localizedDescription: String {
       return descriptionWithLocale(NSLocale.currentLocale()) ?? ""
    }
}

println(chosenDate.localizedDescription)
<小时>

Swift 3 或更高版本

extension Date {
    var localizedDescription: String {
        return description(with: .current)
    }
}
<小时>
Date().localizedDescription  // "Monday, October 16, 2017 at 2:24:11 AM Brasilia Summer Time"

本文地址:https://www.itbaoku.cn/post/924517.html