实际上我想从日期或时间戳字符串中找出日期格式。
假设我有“12/2/2017”日期字符串,那么结果应为“MM / dd / yyyy”。
或者如果,我有“12-31-2017 10:12:00 AM”,结果应该是“MM-dd-yyyy HH:mm:ss a”。
任何人都可以帮助我吗?
答案 0 :(得分:0)
我昨天刚刚完成了类似的任务。在某些情况下,我会得到输入" 08.02.2017 14:00"在其他情况下,我会得到" 8/2/17 14:00"。所以我提出了这个util方法:
def parseDateTime(datePart:String, timePart:String):LocalDateTime = {
val dateDelimiter = if (datePart.indexOf('.') != -1) "." else "/"
val dateFactors = datePart.split(dateDelimiter)
val dayPattern = if(dateFactors(1).size == 1) "d" else "dd"
val monthPattern = if(dateFactors(0).size == 1) "M" else "MM"
val yearPattern = if(dateFactors(2).size == 2) "yy" else "yyyy"
val formatter = DateTimeFormatter.ofPattern(monthPattern + dateDelimiter + dayPattern + dateDelimiter + yearPattern + " HH:mm")
LocalDateTime.parse(datePart + " " + timePart, formatter)
}
如果阅读并反思一下,你应该明白这个想法。
如果是" 08.02.2017 14:00"输入datePart
和timePart
输入参数将是" 08.02.2017"和" 14:00"相应地。
我需要这个,因为我在自动化代码中解析了两个文本字段。以下是一个使用示例:
def startDateTime(implicit driver: WebDriver):LocalDateTime = withMainWindow{
val datePart = textField(id("dateRangeFormById[0].startDate")).value
val timePart = textField(id("dateRangeFormById[0].startTime")).value
parseDateTime(datePart, timePart)
}