我有一个日期变量
var date: Date = new Date()
Run Code Online (Sandbox Code Playgroud)
然后我将这个日期转换为String:
var dateStr = date.toString()
Run Code Online (Sandbox Code Playgroud)
现在我需要将此String转换回日期.我试过了两个:
1:
var stringToDate: Date = date2Str.asInstanceOf[Date]
Run Code Online (Sandbox Code Playgroud)
和2:
stringToDate: Date = new SimpleDateFormat("dd.MM.yyyy").parse(dateStr);
Run Code Online (Sandbox Code Playgroud)
但在这两种情况下我都收到了错误:
java.lang.ClassCastException:
java.lang.String cannot be cast to java.util.Date
Run Code Online (Sandbox Code Playgroud)
Wil*_*ger 54
我在你的代码中看到了一些问题,但这很好用:
scala> val format = new java.text.SimpleDateFormat("dd-MM-yyyy")
format: java.text.SimpleDateFormat = java.text.SimpleDateFormat@9586200
scala> format.format(new java.util.Date())
res4: java.lang.String = 21-03-2011
scala> format.parse("21-03-2011")
res5: java.util.Date = Mon Mar 21 00:00:00 CET 2011
Run Code Online (Sandbox Code Playgroud)
可以使用Starting Scala 2.11
、 Targeting Java 8
、 Date Time API:java.time
import java.time.LocalDate
import java.time.format.DateTimeFormatter
val dtf = DateTimeFormatter.ofPattern("dd-MM-yyyy")
LocalDate.now().format(dtf) // "06-07-2018"
LocalDate.parse("06-07-2018", dtf) // java.time.LocalDate = 2018-07-06
Run Code Online (Sandbox Code Playgroud)
注意:
java.util.Date
/ SimpleDateFormat
api。这也应该取代广泛使用的joda-time
库:
请注意,从 Java SE 8 开始,用户被要求迁移到 java.time (JSR-310) - JDK 的核心部分,它取代了该项目。
通过关联nscala-time,它是joda-time
.
归档时间: |
|
查看次数: |
77033 次 |
最近记录: |