日時の書式を変換するクラス

来源:互联网 发布:淘宝发布宝贝多种口味 编辑:程序博客网 时间:2024/04/28 21:16

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 * 日時の書式を変換するクラス<BR>
 *
 * <PRE>
 * 日時の書式を変換する
 * </PRE>
 *
 * @author TCI xxx 2011/12/23
 *
 */
public final class DateTimeUtil {
    /** 定数DEFAULT_DATE_FORMAT日付の黙認する書式 */
    public static final String DEFAULT_DATE_FORMAT = "yyyy/MM/dd";
    /** 定数USER_DATE_FORMAT_STR1常用日付の書式 */
    public static final String USER_DATE_FORMAT_STR1 = "yyyyMMdd";
    /** 定数USER_DATE_FORMAT_STR2常用日付の書式 */
    public static final String USER_DATE_FORMAT_STR2 = "yyyy-MM-dd";
    /** 定数DEFAULT_DATE_TIME_FORMAT常用日時の黙認する書式 */
    public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy/MM/dd HH:mm:ss";
    /** 定数SYS_DATE_TIME_FORMAT常用日時の書式 */
    public static final String SYS_DATE_TIME_FORMAT = "yyyyMMddHHmmss";
    /** 定数USER_DATE_TIME_FORMAT常用日時の書式 */
    public static final String USER_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
    /** 定数DEFAULT_TIME_FORMAT時間の黙認する書式 */
    public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss";
    /** 定数USER_TIME_FORMAT常用時間の書式 */
    public static final String USER_TIME_FORMAT = "HHmmss";

    /**
     * システムの日付を取得するメソッド<BR>
     *
     * <PRE>
     * (1)処理内容:
     * システムの日付を取得する。
     * </PRE>
     *
     * @return システムの日付
     */
    public static Date getSystemDate() {
        return new Date();
    }

    /**
     * 営業する日付を判断するメソッド<BR>
     *
     * <PRE>
     * (1)処理内容:
     * 営業する日付を判断する。
     * </PRE>
     *
     * @param _date
     *            処理の日付のパラメータ
     * @return 営業する日付を判断する結果
     */
    public static boolean isBusinessDay(Date _date) {
        boolean flag = true;
        Calendar calendar = GregorianCalendar.getInstance();
        calendar.setTime(_date);
        int day_Of_Week = calendar.get(GregorianCalendar.DAY_OF_WEEK);
        if (day_Of_Week == GregorianCalendar.SUNDAY
                || day_Of_Week == GregorianCalendar.SATURDAY) {
            flag = false;
        }
        return flag;
    }

    /**
     * 日付の黙認する書式を変換するメソッド<BR>
     *
     * <PRE>
     * 日付の書式を変換する
     * </PRE>
     *
     * @param _date
     *            処理の日付のパラメータ
     * @return 日付の書式を変換する結果
     *
     */
    public static String dateFormat(Date _date) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
                DEFAULT_DATE_FORMAT);
        return simpleDateFormat.format(_date);
    }

    /**
     * ユーザー定義書式の日付を変換するメソッド<BR>
     *
     * <PRE>
     * ユーザー定義書式の日付を変換する
     * </PRE>
     *
     * @param _date
     *            処理の日付のパラメータ
     * @param _dateFormateStr
     *            処理の日付書式のパラメータ
     * @return 日付の書式を変換する結果
     *
     */
    public static String dateFormat(Date _date, String _dateFormateStr) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
                _dateFormateStr);
        return simpleDateFormat.format(_date);
    }

    /**
     * String書式の日付をDate書式の日付に変換するメソッド
     *
     * <PRE>
     * String書式の日付をDate書式の日付に変換さする
     * </PRE>
     *
     * @param _strDate
     *            パラメータ
     * @return simpleDateFormat.parse(_strDate) 日付の書式を変換する結果
     * @exception ParseException
     *                異常が発生する場合
     */
    public static Date strFormatToDate(String _strDate) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
                DEFAULT_DATE_FORMAT);
        return simpleDateFormat.parse(_strDate);
    }

    /**
     * String書式の日付をDate書式の日付に変換するメソッド
     *
     * <PRE>
     * String書式の日付をDate書式の日付に変換さする
     * </PRE>
     *
     * @param _strDate
     *            パラメータ
     * @param _formatStr
     *            処理の日付書式のパラメータ
     * @return 日付の書式を変換する結果
     * @throws ParseException
     *             異常が発生する場合
     */
    public static Date strFormatToDate(String _strDate, String _formatStr)
            throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(_formatStr);
        return simpleDateFormat.parse(_strDate);
    }

    /**
     * 日時の書式を変換するメソッド<BR>
     *
     * <PRE>
     * 日時の書式を変換する
     * </PRE>
     *
     * @param _date
     *            処理の日時のパラメータ
     * @return 日時の書式を変換する結果
     *
     */
    public static String dateTimeFormat(Date _date) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
                DEFAULT_DATE_TIME_FORMAT);
        return simpleDateFormat.format(_date);
    }

    /**
     * 時間の書式を変換するメソッド<BR>
     *
     * <PRE>
     * 時間の書式を変換する
     * </PRE>
     *
     * @param _date
     *            処理の時間のパラメータ
     * @return 時間の書式を変換する結果
     *
     */
    public static String timeFormat(Date _date) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
                DEFAULT_TIME_FORMAT);
        return simpleDateFormat.format(_date.getTime());
    }

    /**
     * String書式の時間をTime書式の時間に変換するメソッド<BR>
     *
     * <PRE>
     * String書式の時間をTime書式の時間に変換する
     * </PRE>
     *
     * @param _time
     *            処理の時間のパラメータ
     * @return 時間の書式を変換する結果
     * @exception ParseException
     *                異常が発生する場合
     */
    public static Date strFormatToTime(String _time) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
                USER_TIME_FORMAT);
        return simpleDateFormat.parse(_time);
    }

    /**
     * String書式の時間をTime書式の時間に変換するメソッド<BR>
     *
     * <PRE>
     * String書式の時間をTime書式の時間に変換する
     * </PRE>
     *
     * @param _time
     *            処理の時間のパラメータ
     * @param _formatStr
     *            処理時間の書式パラメータ
     * @return 時間の書式を変換する結果
     * @exception ParseException
     *                異常が発生する場合
     */
    public static Date strFormatToTime(String _time, String _formatStr)
            throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(_formatStr);
        return simpleDateFormat.parse(_time);
    }
}