gpt4 book ai didi

swift - NSDateFormatter 的日期格式问题

转载 作者:行者123 更新时间:2023-11-30 13:49:54 25 4
gpt4 key购买 nike

我有这个代码:

var d = "22/12/1968 01:10:40"
var form : NSDateFormatter = NSDateFormatter()
form.dateFormat = "dd/MM/yyyy HH:mm:ss"
form.timeZone = NSTimeZone.localTimeZone() //Italy
print(form.dateFromString(d)!)

当我执行它时,我得到这个:

1968-12-22 00:10:40 +0000

第一件事为什么我最后会得到“+0000”?为什么不尊重数据格式?

第二,时间不对。这就像时间设置为伦敦时间,但我将其设置为我的本地时区(意大利)。我在iPhone模拟器上测试过

最佳答案

  1. 为什么日期错误?

    var d = "22/12/1968 01:10:40"var 形式: NSDateFormatter = NSDateFormatter()form.dateFormat = "dd/MM/yyyy HH:mm:ss"

    //到这里为止,没有“问题”

    form.timeZone = NSTimeZone.localTimeZone()//Italy//这意味着,意大利的日期时间是 22/12/1968 01:10:40 (GMT +1)

    //记住NSDate是绝对时间,或者说它保存的是GMT+0时间。//就像现在,在意大利,现在是 22/12/1968 01:10:40,那么在 GMT+0 时间里,就晚了 1 小时。因此,testDate 为 22/12/1968 00:10:40

    NSDate testDate = form.dateFromString(d)!

  2. 为什么打印的格式不一样?因为您没有使用 NSDateFormatter 对象来获取日期字符串,而是使用 print() 直接打印出对象 NSDate 的描述。

关于swift - NSDateFormatter 的日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34412840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com