in facia-json/src/main/scala/com/gu/facia/client/json/JodaFormat.scala [26:35]
def parse(s: String) = allCatch[DateTime] opt (DateTime.parse(s, dateFormat))
def reads(json: JsValue): JsResult[DateTime] = json match {
case JsNumber(d) => JsSuccess(new DateTime(d.toLong))
case JsString(s) => parse(s) match {
case Some(d) => JsSuccess(d)
case _ => JsError(JsPath(), s"error.unexpected.date.format. Date: '$s'")
}
case _ => JsError(JsPath(), "error.expected.date")
}