-1
votes

Convertir la chaîne au format de date particulière

Je reçois la date dans le format de chaîne du serveur. Donc, j'essaie de formater un format particulier.

mais il devient nul. xxx

Je le fais avec le code suivant xxx < / Pré>

Toute suggestion?


0 commentaires

3 Réponses :


2
votes

qui devrait fonctionner; xxx


3 commentaires

C'est faux. HH est pour 01-12. Ce dont vous avez besoin est h 1-12. Vous devez également définir la locale sur "EN_US_POSIX" avant de définir la propriété dateformat lors de l'analyse d'un format de date fixe. Cela pourrait planter l'application si les paramètres de l'appareil 24 heures sont définis sur 24h.


Aussi OP ne devrait pas choisir comment la date sera affichée à l'utilisateur. OP devrait utiliser dentestyle au lieu de dateformat et utilisez la locale actuelle pour afficher la date localisée concernant les paramètres et les paramètres de l'appareil de l'utilisateur.


dateformattern.datestyle = .medium . Si aucun des styles ne correspond à OP Out, il peut également utiliser la méthode de DateFormatter SetLocalizedDateFormatFromTemplate => DateFormatch.setlocaliszedateformatFromTemplate ("yyyymmmdd")



0
votes
let dateString = "07September16 4:09 am"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "ddMMMyy h:mm a"
let dateObj = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "MMM dd yyyy"
print("Dateobj: \(dateFormatter.string(from: dateObj!))")

5 commentaires

C'est faux. HH est pour 01-12. Ce dont vous avez besoin est h 1-12. Vous devez également définir la locale sur "EN_US_POSIX" avant de définir la propriété dateformat lors de l'analyse d'un format de date fixe. Cela pourrait planter l'application si les paramètres de l'appareil 24 heures sont définis sur 24h.


Oui, laissez-moi changer. Mais la personne toujours ne peut pas avoir la même heure en raison de la différence de locale


Je l'ai imprimé, sa desservant le but.


développeur.apple.com/Library/archive/qa/qa1480/_index. HTML


Si vous travaillez avec des dates de format fixe, vous devez d'abord définir les paramètres régionaux du formateur de date à quelque chose approprié pour votre format fixe. Dans la plupart des cas, les meilleurs paramètres régionaux à choisir sont "EN_US_POSIX", une locale spécialement conçue pour vous fournir des résultats en anglais, indépendamment des préférences des utilisateurs et du système. "EN_US_POSIX" est également invariant dans le temps (si les États-Unis, à un moment donné, change la manière dont il format les dates, "EN_US" changera pour refléter le nouveau comportement, mais "EN_US_POSIX" ne sera pas)



0
votes

Tout d'abord, vous devez d'abord obtenir la date de votre chaîne avec le format actuel comme` xxx

après avoir obtenu la date à laquelle vous pouvez obtenir la chaîne de date dans laquelle vous souhaitez simplement modifier le format` xxx


0 commentaires