2017-10-09 5 views
-2

J'ai utilisé la méthode pour l'heure actuelle dans mon application Mais le problème est que lorsque le 0 est derrière un nombre l'application ne sera pas imprimer comme 10: 23: 4 comme vous le voyez quand la seconde est 04 l'application ne sera pas imprimer 04 et imprimer 4 - Je sais que je peux gérer cela avec la méthode if else Mais je veux savoir est-il possible de corriger cela dans les codes ou la seule façon est-ce? Je sais que je peux utiliser pour la boucle Mais je veux utiliser un code de ligne pour résoudre ce problème, car si l'utilisation de la boucle, je dois utiliser cela pour l'heure et les minutes aussi!comment éviter un nombre quand le nombre est 00 dans 4 rapide?

ici est mes codes

let date = Date() 
    let calendar = Calendar.current 

    let hour = calendar.component(.hour, from: date) 
    let minutes = calendar.component(.minute, from: date) 
    let seconds = calendar.component(.second, from: date) 

    print("Time=\(hour):\(minutes):\(seconds)") 
+3

S'il vous plaît, il suffit d'utiliser un DateFormatter https://developer.apple.com/documentation/foundation/dateformatter – Wukerplank

+1

@Wukerplank exactement! Pourquoi n'utilisez-vous pas un DateFormatter pour cela? – Fogmeister

+0

Je sais que Date Formatter est une autre façon Mais je voulais savoir comment l'utiliser et vous pouvez voir la réponse ci-dessous –

Répondre

-1

Essayez ceci!

let date = Date() 
let calendar = Calendar.current 
let hour = calendar.component(.hour, from: date) 
let minutes = calendar.component(.minute, from: date) 
let seconds = calendar.component(.second, from: date) 
let hourString = String.init(format: " %02d:%02d:%02d", hour,minutes,seconds) 
print(hourString) 
+0

cette méthode imprimé ceci (12:27: 0) alors maintenant il n'y a pas de place 0 –

+0

J'ai mis à jour ma réponse @SaeedRahmatolahi –

+0

merci beaucoup cela a fonctionné pour moi Mais s'il vous plaît changer print ("(hourString)") pour imprimer (hourString) pour imprimer l'heure –