簡體   English   中英

java.text.ParseException:無法解析的日期:“ 06-DEC-11”

[英]java.text.ParseException: Unparseable date: “06-DEC-11”

我正在遵循Pascal Bugnion的《 Scala for Data Science》一書中的代碼。 代表交易的一流

case class Transaction(
id:Option[Int], // unique identifier
candidate:String, // candidate receiving the donation
contributor:String, // name of the contributor
contributorState:String, // contributor state
contributorOccupation:Option[String], // contributor job
amount:Long, // amount in cents
date:Date // date of the donation
)

defined class Transaction

然后我在FEData單例對象的幫助下加載了dat

scala> val ohioData = FECData.loadOhio
ohioData: FECData = FECData@7e83a375

FECData對象具有屬性事務

scala> val ohioTransactions = ohioData.transactions
ohioTransactions: Iterator[Transaction] = non-empty iterator

當我嘗試打印前5筆交易時

scala> ohioTransactions.take(5).foreach(println)
java.text.ParseException: Unparseable date: "06-DEC-11"
  at java.text.DateFormat.parse(DateFormat.java:366)
  at FECData$$anonfun$1.apply(FECData.scala:26)
  at FECData$$anonfun$1.apply(FECData.scala:16)
  at scala.collection.Iterator$$anon$11.next(Iterator.scala:370)

讓我們看一下csv文件的前5行候選人_id,候選人,參與者名稱,參與者狀態,參與者占用,金額,日期

P80000748,"Paul, Ron","BROWN, TODD W MR.",OH,ENGINEER,50.0,06-DEC-11
P80000748,"Paul, Ron","DIEHL, MARGO SONJA",OH,RETIRED,25.0,06-DEC-11
P80000748,"Paul, Ron","KIRCHMEYER, BENJAMIN",OH,COMPUTER PROGRAMMER,201.2,06-DEC-11
P80003338,"Obama, Barack","KEYES, STEPHEN",OH,HR EXECUTIVE / ATTORNEY,100.0,30-SEP-11
P80003338,"Obama, Barack","MURPHY, MIKE W",OH,MANAGER,50.0,26-SEP-11

為什么?

確定,該問題是,在FECData定義一個dateParser作為new SimpleDateFormat("DD-MMM-YY")

根據https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#SimpleDateFormat(java.lang.String) ,它使用給定的模式和默認日期格式構造一個SimpleDateFormat 默認語言環境的符號。

問題是您(JVM的)默認語言環境不是Locale.ENGLISH ,因此"06-DEC-11"DEC部分未正確解析。

你只需要修補FECData :更換private val dateParser = new SimpleDateFormat("DD-MMM-YY")private val dateParser = new SimpleDateFormat("DD-MMM-YY", java.util.Locale.ENGLISH)

參考 用於Locale https://docs.oracle.com/javase/7/docs/api/java/util/Locale.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM