Pra*_*A R 3 scala date date-conversion
您好,此处无法将字符串转换为日期.
我搜索并使用了几种方法,但错误无法改变..
这里的日期格式是 var q 并将其转换为formatedDate ,即String
然后将String转换为util日期..
SearchDate是从方法参数和SearchDate的值是"星期四08月29日00:00:00 2013 IST"
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..
Run Code Online (Sandbox Code Playgroud)
错误是
线程"main"中的异常java.text.ParseException:Unparseable date:"Thu Aug 29 00:00:00 IST 2013"at java.text.DateFormat.parse(Unknown Source)
请分享你的答案..
您正在尝试将"E MMM dd HH:mm:ss Z yyyy"格式化的日期字符串解析为格式化的日期字符串"yyyy-MM-dd HH:mm",在此行中:
val date = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(dateStr)
Run Code Online (Sandbox Code Playgroud)
难怪它失败了.
也许你错误地为第二个SimpleDateFormat实例采用了错误的日期格式?或者你可能传递了错误的参数parse()?
编辑
看起来你真的想打电话:
val date = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(dat)
Run Code Online (Sandbox Code Playgroud)