Package quickml.supervised.crossValidation.dateTimeExtractors

Source Code of quickml.supervised.crossValidation.dateTimeExtractors.SimpleDateFormatExtractor

package quickml.supervised.crossValidation.dateTimeExtractors;

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import quickml.data.AttributesMap;
import quickml.data.Instance;

import java.io.Serializable;
import java.text.*;
import java.util.Date;
import java.util.Map;

/**
* Created by alexanderhawk on 6/22/14.
*/
public class SimpleDateFormatExtractor implements DateTimeExtractor<AttributesMap> {
    private static final Logger logger = LoggerFactory.getLogger(SimpleDateFormatExtractor.class);
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String dateAttribute = "created_at";

    public void setDateFormat(String dateFormatString) {
        dateFormat = new SimpleDateFormat(dateFormatString);
    }

    public void setDateAttribute(String dateAttribute) {
        this.dateAttribute = dateAttribute;
    }

    @Override
    public DateTime extractDateTime(Instance<AttributesMap> instance) {
        AttributesMap attributes = instance.getAttributes();
        try {
            Date currentTimeMillis = dateFormat.parse((String) attributes.get(dateAttribute));
            return new DateTime(currentTimeMillis, DateTimeZone.UTC);
        } catch (ParseException e) {
            logger.error("Error parsing date", e);
        }
        return new DateTime();
    }
}
TOP

Related Classes of quickml.supervised.crossValidation.dateTimeExtractors.SimpleDateFormatExtractor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.