Scala字符串到Java Util日期转换

时间:2013-08-27 08:41:23

标签: scala date date-conversion

这里不能将字符串转换为日期..

我搜索并使用了几种方法,但错误无法改变..

此处日期格式为 var q ,并将其转换为 formatedDate 即String

然后将String转换为util date ..

SearchDate 来自方法参数,SearchDate的值为“Thu Aug 29 00:00:00 IST 2013”​​

    var q: Date = SearchDate
    var dateStr = q.toString()
    var formatter: DateFormat = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy")
    var dat = formatter.parse(dateStr)
    var cal: Calendar = Calendar.getInstance()
    cal.setTime(dat)
    var formatedDate = cal.get(Calendar.DATE) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.YEAR)
    println("formatedDate : " + formatedDate)
    val date = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(dateStr)// Error Occured Here..

错误是

线程中的异常“main”java.text.ParseException:Unparseable date:“Thu Aug 29 00:00:00 IST 2013”     在java.text.DateFormat.parse(未知来源)

请分享你的答案..

1 个答案:

答案 0 :(得分:8)

您尝试将"E MMM dd HH:mm:ss Z yyyy"格式化的日期字符串解析为"yyyy-MM-dd HH:mm"格式化的日期字符串,在此行中:

val date = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(dateStr)

难怪它失败了。

也许您错误地为第二个SimpleDateFormat实例采用了错误的日期格式?或者您可能将错误的参数传递给parse()

修改

看起来你真的想打电话:

val date = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(dat)