2017-11-01 3 views
0

Ich versuche, Datum und Uhrzeit auf derDatum/Uhrzeit Formatierung Scala

Seite angezeigt zu behaupten

Problem ist es Wert ist Rückkehr „2017-03-11T09: 00“ statt „2017.03.11 09: 00:00 "und ich bin verwirrt, warum als das Muster = JJJJ-MM-TT HH: mm: ss

Irgendwelche Ideen?

def getDate :String = { 
val timeStamp = find(xpath("//*[@id=\"content\"]/article/div/div/table/tbody/tr[5]/td/div/p[4]")).get.underlying.getText 
val stripDate: Array[String] = timeStamp.split("Timestamp:\n") 
stripDate(1) 
} 


def datePattern(date: String): LocalDateTime = { 
val pattern: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") 
val result = LocalDateTime.parse(date, pattern) 
result 
} 

def checkDatePattern() = datePattern(getDate).toString shouldBe getDate 
+0

Wie sieht Ihre Datumszeichenkette aus? – mfirry

+0

Warum verwenden Sie SimpleDateFormat nicht? –

+0

@RameshMaharjan, 'SimpleDateFormat' ist schon lange veraltet, und nach der Anzahl der Fragen zu Stack Overflow zu beurteilen, verursacht es sehr viele Probleme. 'DateTimeFormatter' (in der Frage verwendet) ist der moderne Ersatz, es ist viel angenehmer zu arbeiten und neigt dazu, weniger unangenehme Überraschungen zu geben. –

Antwort

3

Die wird nur für den Parse-Vorgang verwendet. Es beeinflusst nicht das Ergebnis von toString. Wenn Sie Ihr LocalDateTime einen String in einem bestimmten Format konvertieren wollen, müssen Sie rufen

date.format(pattern) 
1

Ich habe es geschafft, das Ergebnis zu erhalten ich nur durch das Löschen einige Teile des Codes wollte. Solange das Datum im richtigen Format angezeigt wird, wird der Test bestanden, wenn er in einem falschen Format angezeigt wird. Das Ergebnis ist gut genug für mich. Danke für deinen Beitrag. CASE GESCHLOSSEN

def getDate :String = { 
val timeStamp = find(xpath("//*[@id=\"content\"]/article/div/div/table/tbody/tr[5]/td/div/p[4]")).get.underlying.getText 
val stripDate: Array[String] = timeStamp.split("Timestamp:\n") 
stripDate(1) 
} 


def datePattern(date: String): LocalDateTime = { 
val pattern: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") 
LocalDateTime.parse(date, pattern) 
} 

def checkDatePattern() = datePattern(getDate)