将德语时间格式转换为英语格式

时间:2015-11-10 06:20:36

标签: time swift2 ios9

早上好,

我有iOS 9和Swift 2的应用程序

目前,我的应用程序是用德语。

我的目标是:我会用英语翻译。

这很好用,但我的时间格式有问题。 目前,我使用这样的24时格式:

09:00 Uhr
17:00 Uhr
23:00 Uhr
...

有没有一种快速的方法可以用英语12h格式转换它,如下所示:

09:00 Uhr => 09:00 AM
17:00 Uhr => 05:00 PM
23:00 Uhr => 11:00 PM
...

非常感谢。

3 个答案:

答案 0 :(得分:0)

试试这个,它应该完全符合你的要求:

let date = NSDate()
let dateFormetter = NSDateFormatter()
dateFormetter.dateFormat = "h:mm a" 
dateFormetter.timeZone = NSTimeZone(name: "UTC")
dateFormetter.locale = NSLocale(localeIdentifier: "en_GB")
let timeString = dateFormetter.stringFromDate(date) // 7:34 a.m.

答案 1 :(得分:0)

您可以使用NSDateFormatter修改

let formatter = NSDateFormatter()
formatter.dateFormat = "HH:mm"
let date = formatter.dateFromString(yourString)

formatter.dateFormat = "hh:mm AA"
let result = formatter.stringFromDate(date)

你我可能需要摆脱" Uhr"之前(你可以替换" Uhr"与"")

答案 2 :(得分:0)

根据其他两个答案,使用NSDateFormatter

let dateFormatIn = NSDateFormatter()
let dateFormatOut = NSDateFormatter()

dateFormatIn.dateFormat = "HH:mm 'Uhr'"
dateFormatOut.dateFormat = "hh:mm a"
dateFormatOut.locale = NSLocale(localeIdentifier: "en_US")

var str = "07:00 Uhr"

func convertTimeRepresentation(str: String) -> String? {
    if let n = dateFormatIn.dateFromString(str) {
        return dateFormatOut.stringFromDate(n)
    }
    return nil
}

convertTimeRepresentation(str)