2015-11-10 6 views
0

Доброго утра вместе,Преобразования немецкого Формата времени на английском языке Формат

У меня есть приложение с прошивкой 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 
... 

Большое спасибо.

+0

Какой формат вы используете для представления этих дат/времени? – Aderstedt

+0

внутренне я использую 24-часовой формат - но не как формат даты/времени. это всего лишь строка – Ghost108

ответ

0

Вы можете использовать NSDateFormatter изменить

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

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

Вы мой Propably нужно избавиться от «Uhr» раньше (вы можете заменить "Uhr" с "")

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. 
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) 
Смежные вопросы