我试图传入一个字符串,并将其作为日期返回。但是,当我传入字符串时,返回的日期将作为UTC日期返回。我尝试了这个问题的顶级解决方案,但找不到Swift 4的正确解决方案:
我认为这是最好的方法,但在UTC中仍有回报:
func getDateFromDexReturnDateString(aDate : String) -> Date?
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
dateFormatter.timeZone = TimeZone.current //Thought these two lines would solve it, but doen't
dateFormatter.locale = Locale.current
return dateFormatter.date(from: aDate)!
}
编辑:这是正在发生的事情的图片:
请注意,我传入的日期(aDate)与返回的日期(dateToReturn)不同。为什么会不一样呢?我认为这是一个UTC问题,但我可能需要编辑问题的标题。谢谢你的帮助。
发布于 2018-06-20 10:55:08
BriOnH,您的意思是,当打印或记录返回的日期到控制台或屏幕时,它是以UTC日期格式显示的吗?如果您想要日期的字符串表示,而不是UTC格式,您可以使用/调用实例方法description(with locale: Locale?)和您想要的语言环境对象。有关详细解释,请单击该链接以查看该方法的文档。
https://stackoverflow.com/questions/50939302
复制相似问题