日期/时间格式Scala

日期/时间格式Scala,scala,java-time,Scala,Java Time,我试图断言页面上显示的日期和时间 问题是它的返回值是“2017-03-11T09:00”,而不是“2017-03-11 09:00:00”,我不明白为什么模式=yyy-MM-dd HH:MM:ss 有什么想法吗 def getDate :String = { val timeStamp = find(xpath("//*[@id=\"content\"]/article/div/div/table/tbody/tr[5]/td/div/p[4]")).get.underlying.getText

我试图断言页面上显示的日期和时间

问题是它的返回值是“2017-03-11T09:00”,而不是“2017-03-11 09:00:00”,我不明白为什么模式=yyy-MM-dd HH:MM:ss

有什么想法吗

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

DateTimeFormatter
仅用于解析操作。它不会影响
toString
的结果。如果您想将
LocalDateTime
转换为某种格式的
字符串
,您必须调用

date.format(pattern)

通过删除代码的某些部分,我成功地获得了我想要的结果。只要日期以正确的格式显示,测试就通过了,如果它以错误的格式显示,它就会失败,这对我来说已经足够好了。谢谢你的意见。结案

 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)

日期字符串是什么样子的?为什么不使用SimpleDateFormat?@RameshMaharjan,
SimpleDateFormat
早已过时,从堆栈溢出问题的数量来看,它给很多人带来了很多麻烦
DateTimeFormatter
(在问题中使用)是一种现代的替代品,它使用起来更方便,并且往往会带来更少的不愉快的惊喜。