日期转换
我有可变日期转换
var date: Date = new Date()
的日期,我已转换这个日期字符串:
现在我需要这个字符串转换回日期。 我曾经尝试都:
1:
var stringToDate: Date = date2Str.asInstanceOf[Date]
和2:
stringToDate: Date = new SimpleDateFormat("dd.MM.yyyy").parse(dateStr);
但在这两种情况下,我得到了错误:
java.lang.ClassCastException:
java.lang.String cannot be cast to java.util.Date
我看到一对夫妇的代码中的问题,但这个工作得很好:
scala> val format = new java.text.SimpleDateFormat("dd-MM-yyyy")
format: java.text.SimpleDateFormat = [email protected]
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
你的第一次尝试应该给你一个ClassCastException,因为你不能cast.aString到日期。第二次尝试似乎没有使用Date.toString()
打印的正确格式。 java.utility.Date的toString方法以javadoc中指定的格式返回一个String。
关于第二种方法,我需要将以下字符串“22-AUG-11”转换为日期。 如何! – Echo 2011-03-21 13:04:38
格式字符串'dd-MMM-yy'如何?查看[SimpleDateFormat的javadoc](http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html),它可以帮助您了解日期模式中可以使用的内容。 – krock 2011-03-21 13:09:04
嗨Krock,这种格式是我正在寻找的。 Thx – Echo 2011-03-21 14:17:25
使用nscala-time对我下面的工作:
import com.github.nscala_time.time._
import com.github.nscala_time.time.Imports._
val ysterday= (DateTime.now- 1.days).toString(StaticDateTimeFormat.forPattern("yyyyMMdd"))
我需要converta以下格式的日期: “22-AUG-11”迄今为止! – Echo 2011-03-21 12:59:50