cn.cuizuoli.appranking.util.DateUtil.java Source code

Java tutorial

Introduction

Here is the source code for cn.cuizuoli.appranking.util.DateUtil.java

Source

/*
 * Copyright 2014 the original author or authors.
 *
 * Licensed 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 cn.cuizuoli.appranking.util;

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

/**
 * DateUtil
 * @author cuizuoli
 */
public class DateUtil {

    public final static DateTimeFormatter WEIBO_HOUR_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd-H");
    public final static DateTimeFormatter HOUR_FORMATTER = DateTimeFormat.forPattern("yyyyMMddHH");
    public final static DateTimeFormatter DAY_FORMATTER = DateTimeFormat.forPattern("yyyyMMdd");
    public final static DateTimeFormatter MONTH_FORMATTER = DateTimeFormat.forPattern("yyyyMM");

    /**
     * fromHour
     * @param hour
     * @return
     */
    public static DateTime fromHour(String hour) {
        return HOUR_FORMATTER.parseDateTime(hour);
    }

    /**
     * fromDay
     * @param day
     * @return
     */
    public static DateTime fromDay(String day) {
        return DAY_FORMATTER.parseDateTime(day);
    }

    /**
     * fromMonth
     * @param month
     * @return
     */
    public static DateTime fromMonth(String month) {
        return MONTH_FORMATTER.parseDateTime(month);
    }

    /**
     * toWeiboHour
     * @param datetime
     * @return
     */
    public static String toWeiboHour(DateTime datetime) {
        return datetime.toString(WEIBO_HOUR_FORMATTER);
    }

    /**
     * toHour
     * @param datetime
     * @return
     */
    public static String toHour(DateTime datetime) {
        return datetime.toString(HOUR_FORMATTER);
    }

    /**
     * toDay
     * @param datetime
     * @return
     */
    public static String toDay(DateTime datetime) {
        return datetime.toString(DAY_FORMATTER);
    }

    /**
     * toMonth
     * @param datetime
     * @return
     */
    public static String toMonth(DateTime datetime) {
        return datetime.toString(MONTH_FORMATTER);
    }

    /**
     * toWeiboHour
     * @param hour
     * @return
     */
    public static String toWeiboHour(String hour) {
        DateTime datetime = fromHour(hour);
        return toWeiboHour(datetime);
    }

    /**
     * plusHours
     * @param hour
     * @param hours
     * @return
     */
    public static String plusHours(String hour, int hours) {
        DateTime datetime = fromHour(hour);
        return toHour(datetime.plusHours(hours));
    }

    /**
     * minusHours
     * @param hour
     * @param hours
     * @return
     */
    public static String minusHours(String hour, int hours) {
        DateTime datetime = fromHour(hour);
        return toHour(datetime.minusHours(hours));
    }

    /**
     * plusDays
     * @param day
     * @param days
     * @return
     */
    public static String plusDays(String day, int days) {
        DateTime datetime = fromDay(day);
        return toDay(datetime.plusDays(days));
    }

    /**
     * minusDays
     * @param day
     * @param days
     * @return
     */
    public static String minusDays(String day, int days) {
        DateTime datetime = fromDay(day);
        return toDay(datetime.minusDays(days));
    }

}