org.labs.qbit.location.utils.DateUtil.java Source code

Java tutorial

Introduction

Here is the source code for org.labs.qbit.location.utils.DateUtil.java

Source

/**
 * Copyright (c) 2013, QBit-Labs Inc. (http://qbit-labs.org) All Rights Reserved.
 *
 * QBit-Labs Inc. 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.labs.qbit.location.utils;

import org.joda.time.DateTime;

import java.util.Date;

public class DateUtil {

    /**
     * Create joda's date time object with the given string expression
     *
     * @param dateExpression
     *            date expression string
     * @param defaultDateTime
     *            DateTime
     * @return Datetime
     */
    public static DateTime dateTimeFromString(String dateExpression, DateTime defaultDateTime) {
        LocationLogger.debug(DateUtil.class,
                "Creating datetime from String expression [{}], with default datetime [{}]", dateExpression,
                defaultDateTime);
        try {
            return dateExpression == null ? defaultDateTime : DateTime.parse(dateExpression);
        } catch (IllegalArgumentException ex) {
            throw new LocationException(LocationErrorBox.dateBuildErrorCode, ex.getMessage(), ex);
        }
    }

    /**
     * Create java.util.Date object from the given string
     *
     * @param dateExpression
     *            date expression String
     * @param defaultDate
     *            Date time
     * @return JodaTime
     */
    public static Date dateFromString(String dateExpression, Date defaultDate) {
        return dateExpression == null ? defaultDate
                : dateTimeFromString(dateExpression, new DateTime(defaultDate)).toDate();
    }
}