Я пытаюсь применить вычисление между двумя часами.
Я получаю от firebase свои часы в формате String (ЧЧ: мм) и пытаюсь преобразовать его в формат даты (ЧЧ: мм).Затем примените исчисление перед тем, как снова преобразовать в строку и поместите ее в архив в Firebase.
Мой код:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
ref.child("Experience").child(userID!).observeSingleEvent(of: .value) {(snapshot) in
if let value = snapshot.value as? [String:String]{
let value = snapshot.value as? NSDictionary
let total_time = value?["TOTAL_TIME"] as? String ?? "00:00" // Received from Firebase
self.oldDateTotalTime = dateFormatter.date(from: total_time)! //trying to convert into a Date format
print(self.oldDateTotalTime)
self.oldStringTotalTime = total_time //just for test
}
Этот код не работал, потому что, я думаю, из dateFormatter
.
S мои вопросы:
- Как я могу получить
Date
от моего String
? - Как я могу получить после моего
String
от моего Date
?
edit:
Чтобы уточнить мой вопрос, моя цель - вычесть одно временное значение из общего временного значения.У меня есть общий опыт пользователя, то есть 700 H 50 минут с дано на Firebase, как это: 700: 50.В другой части у меня есть некоторые специфические события, например, 1 час 40 минут с заданным как 1:40 в firebase.
Моя просьба вычесть конкретный опыт из глобального.
700:50 - 1:40 = 699:10
На моем текущем опыте со Свифтом я использую только Date()
& DateFormatter
, чтобы иметь дело со временем, и я не знаю, как иметь дело только со временем, а не с датой ...
Надеюсь, вы лучше поймете это с моей правкой