iOS Swift在iPad和iPhone上运行时,相同的代码会生成不同的日期格式

时间:2015-07-17 12:45:21

标签: ios swift nsdateformatter

我有一个iPhone应用程序,在iPad上测试1x / 2x时会导致一些异常行为。

iPad文本字段输出:2015年7月25日下午6:02

iPhone文本字段输出:2015年7月25日,下午6:02

我的日期格式代码如下:

dateFormatter = NSDateFormatter()
dateFormatter.timeZone = NSTimeZone.localTimeZone()
dateFormatter.dateFormat = "MMM/dd/yyyy HH:mm Z"    // Already tried adding dateFormat, still no help.
dateFormatter.dateStyle = .MediumStyle
dateFormatter.timeStyle = .ShortStyle

谁能告诉我这里发生了什么?我希望他们俩都使用相同的格式。 谢谢。

2 个答案:

答案 0 :(得分:2)

通过字符串设置自己的日期格式后,不应使用日期样式或时间样式对其进行限制。如果您没有定义任何自定义日期格式,则可以使用它。

您可以评论这两个属性。

HH - >会给你24小时格式的小时。 如果您希望使用12小时格式,请使用 - > HH

此外,z将为您提供时区值。 要获得上午/下午你应该使用 - >一个

将日期格式更改为" MMM-dd-yyyy hh:mm a" 并且您将获得一致的输出作为" Jul-17-2015 12:05 PM"

答案 1 :(得分:-1)

let dateFormatter = NSDateFormatter()
dateFormatter.timeZone = NSTimeZone.localTimeZone()
dateFormatter.dateStyle = .MediumStyle
dateFormatter.timeStyle = .ShortStyle
dateFormatter.dateFormat = "MMM/dd/yyyy HH:mm a"

上面的代码为我提供了格式化日期字符串