Class ParseDate

All Implemented Interfaces:
CellProcessor, StringCellProcessor

public class ParseDate extends CellProcessorAdaptor implements StringCellProcessor
Converts a String to a Date using the SimpleDateFormat class. If you want to convert from a Date to a String, use the FmtDate processor.

Some example date formats you can use are:
"dd/MM/yyyy" (parses a date formatted as "25/12/2011")
"dd-MMM-yy" (parses a date formatted as "25-Dec-11")
"yyyy.MM.dd.HH.mm.ss" (parses a date formatted as "2011.12.25.08.36.33"
"E, dd MMM yyyy HH:mm:ss Z" (parses a date formatted as "Tue, 25 Dec 2011 08:36:33 -0500")

This processor caters for lenient or non-lenient date interpretations (the default is false for constructors without a 'lenient' parameter). See DateFormat.setLenient(boolean) for more information.

If you don't wish to use the default Locale when parsing Dates (your data is formatted for a different Locale), then use the constructor that accepts a Locale.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final String
     
    private final boolean
     
    private final Locale
     

    Fields inherited from class org.supercsv.cellprocessor.CellProcessorAdaptor

    next
  • Constructor Summary

    Constructors
    Constructor
    Description
    ParseDate(String dateFormat)
    Constructs a new ParseDate processor which converts a String to a Date using the supplied date format.
    ParseDate(String dateFormat, boolean lenient)
    Constructs a new ParseDate processor which converts a String to a Date using the supplied date format.
    ParseDate(String dateFormat, boolean lenient, Locale locale)
    Constructs a new ParseDate processor which converts a String to a Date using the supplied date format and Locale.
    ParseDate(String dateFormat, boolean lenient, Locale locale, DateCellProcessor next)
    Constructs a new ParseDate processor which converts a String to a Date using the supplied date format and Locale, then calls the next processor in the chain.
    ParseDate(String dateFormat, boolean lenient, DateCellProcessor next)
    Constructs a new ParseDate processor which converts a String to a Date using the supplied date format, then calls the next processor in the chain.
    ParseDate(String dateFormat, DateCellProcessor next)
    Constructs a new ParseDate processor which converts a String to a Date using the supplied date format, then calls the next processor in the chain.
  • Method Summary

    Modifier and Type
    Method
    Description
    private static void
    Checks the preconditions for creating a new ParseDate processor with a date format.
    private static void
    checkPreconditions(String dateFormat, Locale locale)
    Checks the preconditions for creating a new ParseDate processor with date format and locale.
    execute(Object value, CsvContext context)
    This method is invoked by the framework when the processor needs to process data or check constraints.

    Methods inherited from class org.supercsv.cellprocessor.CellProcessorAdaptor

    toString, validateInputNotNull

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • dateFormat

      private final String dateFormat
    • lenient

      private final boolean lenient
    • locale

      private final Locale locale
  • Constructor Details

    • ParseDate

      public ParseDate(String dateFormat)
      Constructs a new ParseDate processor which converts a String to a Date using the supplied date format. This constructor uses non-lenient Date interpretation.
      Parameters:
      dateFormat - the date format to use
      Throws:
      NullPointerException - if dateFormat is null
    • ParseDate

      public ParseDate(String dateFormat, boolean lenient)
      Constructs a new ParseDate processor which converts a String to a Date using the supplied date format.
      Parameters:
      dateFormat - the date format to use
      lenient - whether date interpretation is lenient
      Throws:
      NullPointerException - if dateFormat is null
    • ParseDate

      public ParseDate(String dateFormat, boolean lenient, Locale locale)
      Constructs a new ParseDate processor which converts a String to a Date using the supplied date format and Locale.
      Parameters:
      dateFormat - the date format to use
      lenient - whether date interpretation is lenient
      locale - the Locale used to parse the date
      Throws:
      NullPointerException - if dateFormat or locale is null
    • ParseDate

      public ParseDate(String dateFormat, DateCellProcessor next)
      Constructs a new ParseDate processor which converts a String to a Date using the supplied date format, then calls the next processor in the chain. This constructor uses non-lenient Date interpretation.
      Parameters:
      dateFormat - the date format to use
      next - the next processor in the chain
      Throws:
      NullPointerException - if dateFormat or next is null
    • ParseDate

      public ParseDate(String dateFormat, boolean lenient, DateCellProcessor next)
      Constructs a new ParseDate processor which converts a String to a Date using the supplied date format, then calls the next processor in the chain.
      Parameters:
      dateFormat - the date format to use
      lenient - whether date interpretation is lenient
      next - the next processor in the chain
      Throws:
      NullPointerException - if dateFormat or next is null
    • ParseDate

      public ParseDate(String dateFormat, boolean lenient, Locale locale, DateCellProcessor next)
      Constructs a new ParseDate processor which converts a String to a Date using the supplied date format and Locale, then calls the next processor in the chain.
      Parameters:
      dateFormat - the date format to use
      lenient - whether date interpretation is lenient
      locale - the Locale used to parse the date
      next - the next processor in the chain
      Throws:
      NullPointerException - if dateFormat, locale, or next is null
  • Method Details

    • checkPreconditions

      private static void checkPreconditions(String dateFormat)
      Checks the preconditions for creating a new ParseDate processor with a date format.
      Parameters:
      dateFormat - the date format to use
      Throws:
      NullPointerException - if dateFormat is null
    • checkPreconditions

      private static void checkPreconditions(String dateFormat, Locale locale)
      Checks the preconditions for creating a new ParseDate processor with date format and locale.
      Parameters:
      dateFormat - the date format to use
      locale - the Locale used to parse the date
      Throws:
      NullPointerException - if dateFormat or locale is null
    • execute

      public Object execute(Object value, CsvContext context)
      This method is invoked by the framework when the processor needs to process data or check constraints.
      Specified by:
      execute in interface CellProcessor
      Parameters:
      value - the value to be processed
      context - the CSV context
      Returns:
      the result of cell processor execution
      Throws:
      SuperCsvCellProcessorException - if value is null, isn't a String, or can't be parsed to a Date