Wie, um das Datum anzuzeigen, die mit der menschlichen Sprache wie "Heute um xx:xx Uhr", "Gestern um xx:xx Uhr"?
Ich habe ein date "2014-07-02 20:57:38 +0000" und ich möchte es formatieren, wie "Heute um 8:57 pm".
Ich möchte, dass wenn eine Zeichenfolge gestern ist, dann zeigt es, wie "Gestern um 9:00 Uhr". Wenn es weder heute oder gestern, nur zeigen, das Datum wie "27/6 bei 7:53 pm".
Konnte ich mir die Zeit mit format wie "8:57 UHR" mit dem code unten.
var formatter : NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "h:mm a"
//message.createdAt is the date
let dateString = formatter.stringFromDate(message.createdAt)
println(dateString)
//output = 8:57 AM
Allerdings, wenn ich den folgenden code verwenden, es gibt eine leere Zeichenfolge.
var formatter : NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "h:mm a"
formatter.doesRelativeDateFormatting = true //<-- This doesn't work
let dateString = formatter.stringFromDate(message.createdAt)
println(dateString)
//output = (nothing, its a blank string)
Wie mache ich diese Arbeit und zeigt "Heute" oder "Gestern" in Swift?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Grund, warum es leer ist, dass Ihr date-format hat nur Zeit-Komponenten. Kombiniert mit
.doesRelativeDateFormatting
gibt eine leere Zeichenkette. Wenn Sie möchten, dass die benutzerdefinierten format aus, ich glaube, Sie brauchen, trennen Sie die Formatierer für Datum und Zeit:Swift 5.1, Apple Developer-API-Referenz-Mitgliedstaaten über die
DateFormatter
'sdateFormat
Eigenschaft:Folgende Spielplatz-Beispiel-code zeigt, wie Sie Ihre Reisedaten in das gewünschte format mit dateStyle, timeStyle und
doesRelativeDateFormatting
Eigenschaften:Geben diesem einen Versuch