java.text.SimpleDateFormat
處理這類日期的解析好。
scala> val sdf = new SimpleDateFormat("yyyyMMddkkmmss")
sdf: java.text.SimpleDateFormat = [email protected]
scala> val date = sdf.parse("20170224134523")
date: java.util.Date = Fri Feb 24 13:45:23 PST 2017
您可以從下面的API中顯示的日期,日期,小時等成功解析日期。
scala> res0.get
getClass getDate getDay getHours getMinutes getMonth getSeconds getTime getTimezoneOffset getYear
此外,我建議包裝在一個Try
的parse
呼叫處理成功和不成功的解析。
scala> val date = Try(sdf.parse("20170224134523"))
date: scala.util.Try[java.util.Date] = Success(Fri Feb 24 13:45:23 PST 2017)
scala> val date = Try(sdf.parse("asdf"))
date: scala.util.Try[java.util.Date] = Failure(java.text.ParseException: Unparseable date: "asdf")
下面是使用較新的LocalDateTime
而不是Date
同樣的事情,它是不贊成的方法。
LocalDateTime.parse("20170224134523", DateTimeFormatter.ofPattern("yMMddkkmmss"))
java.time.LocalDateTime = 2017-02-24T13:45:23
不錯,除了所有'get'方法已被棄用。有一個可以接受的選擇嗎? – jwvh
Java在半日前徹底檢查了日期和時間。我認爲新的等價物將是'LocalDateTime.parse(str,DateTimeFormatter。ofPattern(「yyyyMMddHHmmss」))' –
請注意,'yMMddkkmmss'似乎與預期的'DateTimeFormatter'一起使用,但不會用'SimpleDateFormat'返回所需的日期。 'SimpleDateFormat'適用於'yyyyMMddkkmmss'。 – Brian