All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.greencheek.related.indexing.util.JodaUTCCurrentDateAndHourFormatter Maven / Gradle / Ivy

/*
 *
 *  * Licensed to Relateit under one or more contributor
 *  * license agreements. See the NOTICE file distributed with
 *  * this work for additional information regarding copyright
 *  * ownership. Relateit licenses this file to you under
 *  * the Apache License, Version 2.0 (the "License"); you may
 *  * not use this file except in compliance with the License.
 *  * You may obtain a copy of the License at
 *  *
 *  *    http://www.apache.org/licenses/LICENSE-2.0
 *  *
 *  * Unless required by applicable law or agreed to in writing,
 *  * software distributed under the License is distributed on an
 *  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 *  * KIND, either express or implied.  See the License for the
 *  * specific language governing permissions and limitations
 *  * under the License.
 *
 */

package org.greencheek.related.indexing.util;

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.format.*;


/**
 * Parses a date to "yyyy-MM-dd'_'HH"
 */
public class JodaUTCCurrentDateAndHourFormatter implements UTCCurrentDateAndHourFormatter {

    private final DateTimeParser[] parsers = {
            ISODateTimeFormat.dateTimeParser().getParser(),
            ISODateTimeFormat.basicDateTime().getParser(),
            ISODateTimeFormat.basicDateTimeNoMillis().getParser(),
            ISODateTimeFormat.basicDate().getParser()
    };
    private final DateTimeFormatter formatterUTC = new DateTimeFormatterBuilder().append( null, parsers ).toFormatter().withZoneUTC();
    private final DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'_'HH");

    @Override
    public String getCurrentDayAndHour() {
        DateTime dt = new DateTime();
        DateTime utc =dt.withZone(DateTimeZone.UTC);
        return formatter.print(utc);
    }

    @Override
    public String parseToDateAndHour(String dateAndOrTime) {
        return formatter.print(formatterUTC.parseDateTime(dateAndOrTime));
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy