2017-05-03 1 views
0

Ich bin neu zu schnell und würde einige Hilfe bei der String-Manipulation zu schätzen wissen. Ich versuche, das aktuelle Datum von NSDate zu entfernen und es in ein Textfeld für eine App, an der ich gerade arbeite, einzufügen. Ich habe versucht, NSDateFormatter zu verwenden, um das IOS-Systemdatum in die internationale Form oder TT-MM-JJJJ zu setzen, aber ich bekomme immer alle diese Fehler und nichts funktioniert. Ich könnte das amerikanische Datumsformat verwenden, ich brauche es wirklich, um zu funktionieren. Ich weiß eigentlich nicht so schnell, aber ich weiß, dass andere Tutorials, die ich beim Stack-Overflow zu verfolgen versuchte, mich angewiesen haben, mit NSDate Code in den View-Controller zu schreiben. Ich arbeitete an einigen anderen Tutorials und versuchte sie dazu zu bringen, das zu tun, was ich brauchte und das ist das Ergebnis. Es wurde verwendet, um einen Datums- und Zeitstempel zu erstellen, aber ich habe versucht, die Teile zu entfernen, die mit der Zeit umgehen. Ich glaube, ich habe es nur noch schlimmer gemacht.Setzen System Datum in ein Textfeld in swift

func convertDateFormatter(date: String) -> String { 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "dd-MM-yyyy" 

guard let date = dateFormatter.date(from: date) else { 
    assert(false, "no date from string") 
    return "" 
} 

dateFormatter.dateFormat = "dd-MM-yyyy" 
let timeStamp = dateFormatter.string(from: date) 
return timeStamp 

} 

Meine Version von swift nicht erkennt NSDate, will sie es ändern, nur Datum, ich weiß nicht, wie es wirkt, wie soll ich über das tun dies gehen. Ich habe es im Code in "Nur Datum" geändert und es funktioniert immer noch nicht.

Darüber hinaus gestern meine mobile apps Lehrer und ich habe versucht, eine benutzerdefinierte Variable und das Textfeld, aber es funktioniert nicht.

var UIDateStamp = UITextField().self 

konnte ich meine Suche falsch sein Wortlaut, aber ich habe diese gleiche Abfrage durchsucht alle verschiedenen Möglichkeiten, die ich tun konnte, aber jede Lösung, die ich versucht habe bisher gibt mir eine Menge Fehler, die meine Codierung Klasse und Ich kann nicht lösen.

Ich würde mich sehr über Hilfe bei diesem Problem freuen.

+0

, in welchem ​​Format Sie Datum dieser Funktion convertDateFormatter bestanden haben (Datum: String)? – KKRocks

+0

Verwenden Sie in Swift –

+0

Datum Klasse statt NSDate-Klasse Dies ist sehr grundlegende Sachen. Es scheint, dass dein * Lehrer * auch einen Lehrer braucht. ;-) – vadian

Antwort

0

Wenn Sie Systemdatum benötigen, müssen Sie eine Funktion ohne Parameter erstellen.

Swift 3

func convertDateFormatter() -> String { 
     let date = Date() 
     let formatter = DateFormatter() 
     formatter.dateFormat = "dd-MM-yyyy" // change format as per needs 
     let result = formatter.string(from: date) 
     return result 
    } 
+0

Vielen Dank, das funktioniert gut, außer dass ich das Ergebnis immer noch nicht in ein Textfeld schreiben kann. Ich habe versucht, Ergebnis als eine Variable festzulegen, aber ich kann die Variable nicht zweimal deklarieren oder die Zeichenfolge an das Textfeld, das ich möchte, setzen. Dies funktioniert nicht: ~~ let formatter.string (von: Datum) = (RoundStyleTextField.text) ~~ dies funktioniert auch nicht: ~~ var result = lassen formatter.string (aus: Datum) [Neue Zeile] var result = (RoundStyleTextField.text) ~~ Wissen Sie, wie man es in ein Textfeld einfügt? –

0

Wenn Sie ein Datumsformat auf dem aktuellen Gebietsschema abhängig wollen verwenden Sie die timeStyle und dateStyle Eigenschaften.

Dieser Code - wie berechnet Eigenschaft - gibt M/d/yy für das Gebietsschema US

var timeStamp : String { 
    let formatter = DateFormatter() 
    formatter.timeStyle = .none 
    formatter.dateStyle = .short 
    return formatter.string(from: Date()) 
} 

Ein Datum Stil medium kehrt MMM d, yyyy

Verwandte Themen