web-dev-qa-db-fra.com

Le formatage de la date ne fonctionne pas dans Swift 3

J'ai un problème avec NSDate dans une fonction. Essentiellement, le formatage ne fonctionne pas et j'ai besoin d'un autre regard pour voir ce que je fais de travers.

Code:

 @IBOutlet weak var dateField: NSTextField!

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM dd yyyy"
let currentDate = NSDate()

convertedDateString = dateFormatter.string(from:currentDate as Date)
dateField.stringValue = convertedDateString as String

print("convertedDate: ", convertedDateString)
print("dateField.stringValue: ", dateField.stringValue)

Résultat:

convertiDate: 25 juillet 2016
dateField.stringValue: 25/07/16

16
David DelMonte
Date().toString() // convert date to string with userdefined format.

extension Date {
        func toString() -> String {
            let dateFormatter = DateFormatter()
            dateFormatter.dateFormat = "MMMM dd yyyy"
            return dateFormatter.string(from: self)
        }
    }
31
SaRaVaNaN DM

Extension pour obtenir une chaîne par rapport aux formats de date

extension Date {
        func toString(format: String) -> String {
            let dateFormatter = DateFormatter()
            dateFormatter.dateFormat = format
            return dateFormatter.string(from: self)
        }
    }

Date().toString(format:"H:mm")
8
Muhammad Adnan

C'est ce que j'essaye sur le terrain de jeu et cela fonctionne.

import Foundation

let dateFormatter = NSDateFormatter()

dateFormatter.dateFormat = "MMMM dd yyyy"
let currentDate = NSDate()

let convertedDateString = dateFormatter.stringFromDate(currentDate)
var dateField:NSTextField = NSTextField()
dateField.stringValue = convertedDateString as String

print(convertedDateString) //July 25 2016
print(dateField.stringValue) //July 25 2016

La seule différence était que je changeais pour NSDateFormatter et au lieu de dateFormatter.string j'avais dateFormatter.stringFromDate.

 enter image description here

Avez-vous accidentellement défini une valeur dans le storyboard ou xib que vous avez la NSTextField?

5
Zac Kwan

Le problème que j'avais était de ne pas supprimer l'application de mon téléphone avant de réinstaller et de tester. Le code fonctionnait dans le simulateur mais pas le téléphone. J'espère que cela t'aides

0
Geo B