将具有区域设置日期时间的字符串转换为全局时间并返回

时间:2015-04-24 11:33:01

标签: ios objective-c swift

我从服务返回以下字符串作为locale(在我的案例中,特拉维夫,以色列)特定于我的时区的日期时间,例如原始字符串是:“24/04/15 06:00 AM”

将其视为当地时间的预测。

现在,我如何将其转换为任何全球时间,例如:GMT / UTC? 然后,如何将相同的全局时间转换为确切的原始字符串

到目前为止,我有这个:

var dateFormatter = NSDateFormatter()
                dateFormatter.dateFormat = "dd/MM/yy HH:mm aa"
                dateFormatter.timeZone = NSTimeZone(name: "ASIA - Israel (UTC + 2)")
                let date = dateFormatter.dateFromString("24/04/15 06:00 AM")

当我打印日期时:2015-04-23 21:00:00 +0000 这个全球时间是什么时候?我无法将这个新日期转换为原始字符串...不明白这个日期究竟是什么

1 个答案:

答案 0 :(得分:1)

只需注意:

HH表示24小时格式。由于您指定了AM,因此您使用的是12小时格式,因此您应该在格式化程序中使用hh

更改

dateFormatter.dateFormat = "dd/MM/yy HH:mm aa"

dateFormatter.dateFormat = "dd/MM/yy hh:mm aa"