日期/时间格式Scala

时间:2017-11-01 12:24:20

标签: scala java-time

我正在尝试断言页面上显示的日期和时间

问题是它的返回值是“2017-03-11T09:00”而不是“2017-03-11 09:00:00”,我很困惑为什么模式= yyyy-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

2 个答案:

答案 0 :(得分:3)

DateTimeFormatter仅用于解析操作。它不会影响toString的结果。如果您想以某种格式将LocalDateTime转换为String,则必须致电

date.format(pattern)

答案 1 :(得分:1)

我设法通过删除代码的某些部分来获得我想要的结果。只要日期以正确的格式显示,如果测试以错误的格式显示,测试就会通过,这对我来说已经足够了。感谢您的输入。案例已关闭

 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)