我正在使用Xcode 11.4.1 在我的项目中,我得到了一个包含一些数据的字符串,我需要将其拆分并将信息保存在一些变量中。 现在,如果我尝试这样做,我会遇到问题
let dateString = "12-04-2020"
let dateFormatIn = DateFormatter()
dateFormatIn.dateFormat = "dd-MM-yyyy"
let saveDate: Date = dateFormatIn.date(from: dateString)!
print("The date is: \(saveDate)")
我期望的结果是“日期是:12-04-2019”,但是我得到的是“日期是:2020-04-11 15:00:00 +0000” 我想念什么,这是什么印刷日期?这不是当前日期,也不是字符串! 我需要的日期格式与字符串中的日期格式相同。
答案 0 :(得分:0)
let saveDate: Date = dateFormatIn.date(from: dateString)!
“:Date”看起来像数据类型声明。您的意思是,“创建类型为saveDate
的名为Date
的变量,并从dateFormatIn.date(from: dateString)
的输出中对其进行初始化。”
因此,您不打印格式输出。您正在将格式化的输出转换为新的Date
对象,然后打印那个。
尝试:
let saveDate = dateFormatIn.date(from: dateString)!
这应该保存dateFormatIn.date(from: dateString)
在saveDate
中返回的内容。
答案 1 :(得分:0)
Date
是一个时间点,它没有格式也没有时区。print
显示UTC时区中日期的描述(字符串表示形式)。2020-04-12 00:00:00 +0900
和2020-04-11 15:00:00 +0000
是同一时间点。如果要创建与时区无关的日期字符串,请添加行
dateFormatIn.timeZone = TimeZone(secondsFromGMT: 0)