@@ -0,0 +1,1560 @@
+package com.github.kahalemakai.opencsv.beans.processing.decoders;%0A%0Aimport com.github.kahalemakai.opencsv.beans.processing.Decoder;%0Aimport lombok.extern.log4j.Log4j;%0A%0Aimport java.time.LocalDateTime;%0Aimport java.time.ZoneOffset;%0Aimport java.time.format.DateTimeFormatter;%0Aimport java.time.format.DateTimeParseException;%0A%0A/**%0A * Convert a timestamp of format %22yyyy-MM-dd HH:mm:ss into unix epoch time (in milli seconds).%0A * %3Cp%3E%0A * Subclasses may override the %7B@code convert%7D method and convert the parsed%0A * %7B@code LocalDateTime%7D instance into any arbitrary object.%0A *%0A */%0A@Log4j%0Apublic class TimestampDecoder implements Decoder%3CLong%3E %7B%0A    public static final DateTimeFormatter FORMAT = DateTimeFormatter.ofPattern(%22yyyy-MM-dd HH:mm:ss%22);%0A%0A    /**%0A     * Convert a %7B@code LocalDateTime%7D instance into milli seconds since unix epoch.%0A     * %3Cp%3E%0A     * This method should be overriden by subclasses in order to return different kinds of%0A     * objects.%0A     *%0A     * @param dateTime the parsed %7B@code LocalDateTime%7D instance%0A     * @return milli seconds since unix epoch%0A     */%0A    public Long convert(final LocalDateTime dateTime) %7B%0A        return dateTime.toEpochSecond(ZoneOffset.UTC) * 1000;%0A    %7D%0A%0A    @Override%0A    public Long decode(String data) %7B%0A        try %7B%0A            final LocalDateTime dateTime = LocalDateTime.parse(data, FORMAT);%0A            return convert(dateTime);%0A        %7D catch (DateTimeParseException e) %7B%0A            log.debug(String.format(%22cannot parse date '%25s'%22, data));%0A            return Decoder.decodingFailed();%0A        %7D%0A    %7D%0A%7D%0A

add TimestampDecoder