这里不能将字符串转换为日期..
我搜索并使用了几种方法,但错误无法改变..
此处日期格式为 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(未知来源)
请分享你的答案..
答案 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)