如何将String转换为DateTime格式?

时间:2015-05-11 12:24:46

标签: java scala datetime

我有一个" 2015年5月7日"串。我想将它转换为DateTime格式为2015-05-07模式 我转换如下:

scala> val format = new java.text.SimpleDateFormat("MMM dd, yyyy")
format: java.text.SimpleDateFormat = java.text.SimpleDateFormat@2e2b536d

scala> format.parse("May 07 2015")
res5: java.util.Date = Thu May, 07 00:00:00 IST 2015

如果没有编写地图将月份转换为相应的数值,那么转换上述int 2015-05-07的下一步应该是什么?

2 个答案:

答案 0 :(得分:3)

由于您已使用SimpleDateFormat,为什么不使用第二个DateFormat格式化日期,例如

val df = new java.text.SimpleDateFormat("yyyy-MM-dd")
df.format(*date*)

完成你的例子:

val format = new java.text.SimpleDateFormat("MMM dd yyyy")
val myDate = format.parse("May 07 2015")
val df = new java.text.SimpleDateFormat("yyyy-MM-dd")
df.format(myDate)

答案 1 :(得分:0)

你已经解析了字符串,你必须格式化它,以便用你需要的格式创建一个新的SimpleDateFormat对象,并使用格式化方法格式化日期。

scala> val format = new java.text.SimpleDateFormat("MMM dd yyyy")
format: java.text.SimpleDateFormat = java.text.SimpleDateFormat@2e2b536d

scala> format.parse("May 07 2015")
res0: java.util.Date = Thu May 07 00:00:00 IST 2015

scala> val format1 = new java.text.SimpleDateFormat("yyyy-MM-dd")
format1: java.text.SimpleDateFormat = java.text.SimpleDateFormat@f67a0200

scala> var newDate=format1.format(res0)
newDate: String = 2015-05-07