Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.banksimple.util
- import org.scala_tools.time.Imports._
- import org.joda.time.format.{DateTimeFormat,DateTimeFormatter}
- class SafeDateTimeFormatter(val self: DateTimeFormatter) extends Proxy {
- def safelyParseDateTime(input: String): Option[DateTime] =
- try Some(self.parseDateTime(input))
- catch { case _ => None }
- }
- object DateTimeImports {
- implicit def dtf2SafeDtf(in: DateTimeFormatter) = new SafeDateTimeFormatter(in)
- }
- object DateTimeUnionParser {
- def apply(patterns: String*)(input: String): Option[DateTime] = {
- import DateTimeImports._
- val matchers = patterns.map({DateTimeFormat.forPattern(_)})
- matchers.toStream.flatMap(_.safelyParseDateTime(input)).headOption
- }
- }
Add Comment
Please, Sign In to add comment