時間日期轉換工具類,獲取當前時間YYYYMMDD24HHMISS、YYYYMMDDHHMISS


 

YYYYMMDD24HHMISS:24小時制時間(顯示上只是比YYYYMMDDHHMISS中間多了一個24),例:2018102224112440

YYYYMMDDHHMISS:12小時制時間,例20181022112440

 

package com.ztesoft.iotcmp.util;

import com.ztesoft.zsmart.core.log.ZSmartLogger;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;

/**
 * 時間日期轉換工具類 <br>
 */
public class DateTimeUtil {

    private static final ZSmartLogger logger = ZSmartLogger.getLogger(DateTimeUtil.class);

  /**
     * 取得當前的日期時間字符串YYYYMMDD24HHMISS
     *
     * @return String 取得當前的日期時間字符串YYYYMMDD24HHMISS
     */
    public static String getDateTime24String() {
        String format = "yyyyMMdd24HHmmss";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(new Date());
    }

    /**
     * 取得指定時間日期時間字符串
     * @param date yyyy-MM-dd HH:mm:ss格式
     *
     * @return String yyyyMMdd24HHmmss 格式
     */
    public static String getDateTimeChangeString(String date) throws ParseException {
        SimpleDateFormat sdfBefore = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date1 = sdfBefore.parse(date);

        SimpleDateFormat sdfAfter = new SimpleDateFormat("yyyyMMdd24HHmmss");
        return sdfAfter.format(date1);
    }

    /**
     * 獲取兩個日期對象相差天數
     *
     * @param date1 日期對象
     * @param date2 日期對象
     * @return int 日差值
     */
    public static int compareDay(java.util.Date date1, java.util.Date date2) {
        if (date1 == null || date2 == null)
            return 0;

        long time1 = date1.getTime();
        long time2 = date2.getTime();

        long margin = time1 - time2;

        /* 轉化成天數 */
        int ret = (int) Math.floor((double) margin / (1000 * 60 * 60 * 24));

        return ret;
    }

    /**
     * 獲取兩個日期對象相差天數
     *
     * @param date1str String yyyy-MM-dd
     * @param date2str String yyyy-MM-dd
     * @return int 日差值
     */
    public static int compareDay(String date1str, String date2str) {
        if (date1str == null || date2str == null)
            return 0;

        java.util.Date date1 = toDate(date1str, "00:00:01");
        java.util.Date date2 = toDate(date2str, "00:00:00");

        return compareDay(date1, date2);
    }

    /*
     * * 獲取兩個日期對象相差的小時數
     * @param date1 日期對象
     * @param date2 日期對象
     * @return int 相差小時數
     */
    public static int compareHour(java.util.Date date1, java.util.Date date2) {
        if (date1 == null || date2 == null)
            return 0;

        long time1 = date1.getTime();
        long time2 = date2.getTime();

        long margin = time1 - time2;

        int ret = (int) Math.floor((double) margin / (1000 * 60 * 60 * 24));

        return ret;
    }

    /**
     * 獲取兩個日期對象相差的分鍾數
     *
     * @param date1 日期對象
     * @param date2 日期對象
     * @return int 相差分鍾數
     */
    public static int compareMinute(java.util.Date date1, java.util.Date date2) {
        if (date1 == null || date2 == null)
            return 0;

        long time1 = date1.getTime();
        long time2 = date2.getTime();

        long margin = time1 - time2;

        int ret = (int) Math.floor((double) margin / (1000 * 60 * 60 * 24));

        return ret;
    }

    /**
     * 獲取兩個日期對象相差月數
     *
     * @param date1 日期對象
     * @param date2 日期對象
     * @return int 月份差值
     */
    public static int compareMonth(java.util.Date date1, java.util.Date date2) {
        if (date1 == null || date2 == null)
            return 0;

        int year = compareYear(date1, date2);

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date1);
        int month1 = calendar.get(Calendar.MONTH);

        calendar.setTime(date2);
        int month2 = calendar.get(Calendar.MONTH);

        /* 進行比較 */
        return 12 * year + (month1 - month2);

    }

    /**
     * 獲取兩個日期對象相差秒數
     *
     * @param date1 日期對象
     * @param date2 日期對象
     * @return int 相差秒數
     */
    public static int compareSecond(java.util.Date date1, java.util.Date date2) {
        if (date1 == null || date2 == null)
            return 0;

        long time1 = date1.getTime();
        long time2 = date2.getTime();

        long margin = time1 - time2;

        Long longValue = new Long(margin / (1000));

        return longValue.intValue();
    }

    /**
     * 獲取兩個日期對象相差年數
     *
     * @parma date1 日期對象
     * @param date2 日期對象
     * @return int 年份差值
     */
    public static int compareYear(java.util.Date date1, java.util.Date date2) {
        if (date1 == null || date2 == null)
            return 0;

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date1);
        int year1 = calendar.get(Calendar.YEAR);

        calendar.setTime(date2);
        int year2 = calendar.get(Calendar.YEAR);

        return year1 - year2;
    }

    public static String converTime(String str, String format) {
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
        String dateString = str;
        try {
            Date date = df.parse(dateString);
            dateString = toDateTimeString(date, format);
        }
        catch (Exception ex) {
            ex.printStackTrace();
        }
        return dateString;
    }

    public static String converDate(String str, String format) {
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
        String dateString = str;
        try {
            Date date = df.parse(dateString);
            dateString = toDateTimeString(date, format);
        }
        catch (Exception ex) {
            ex.printStackTrace();
        }
        return dateString;
    }

    /**
     * 得到指定年月的最后一天.
     *
     * @param monthStr 年月字符串,格式:yyyy-MM
     */
    public static String endDayOfMoth(String monthStr) {
        int day[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

        int year = Integer.parseInt(monthStr.substring(0, 4));
        int month = Integer.parseInt(monthStr.substring(5));

        int endDay = day[month];

        if (month == 2) {
            if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
                endDay = 29;
            }
        }
        return endDay + "";
    }

    /**
     * 獲取當前日期
     *
     * @return 當前日期
     */
    public static int getCurrentDay() {
        Calendar calendar = Calendar.getInstance();
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        return day;
    }

    /**
     * 獲取當前時
     *
     * @return 當前時間,如:23點,0點,1點等
     */
    public static int getCurrentHour() {
        Calendar calendar = Calendar.getInstance();
        int hour = calendar.get(Calendar.HOUR_OF_DAY);

        return hour;
    }

    /**
     * 獲取當前分
     *
     * @return 當前分
     */
    public static int getCurrentMinute() {
        Calendar calendar = Calendar.getInstance();
        int hour = calendar.get(Calendar.MINUTE);

        return hour;
    }

    /**
     * 獲取當前月份
     *
     * @return 月份
     */
    public static int getCurrentMonth() {
        Calendar calendar = Calendar.getInstance();
        return calendar.get(Calendar.MONTH) + 1;
    }

    /**
     * 獲取當前時間的星期數:星期日=7;星期一=1;星期二=2;星期三=3;星期四=4;星期五=5;星期六=6;
     *
     * @return 周數值
     */
    public static int getCurrentWeek() {
        Calendar calendar = Calendar.getInstance();
        int week = calendar.get(Calendar.DAY_OF_WEEK);
        week = week - 1;
        if (week == 0)
            week = 7;

        return week;
    }

    /**
     * 獲取當前年
     *
     * @return 當前年
     */
    public static int getCurrentYear() {
        Calendar calendar = Calendar.getInstance();
        return calendar.get(Calendar.YEAR);
    }

    /**
     * 取得當前的日期時間字符串YYYY-MM-DD
     *
     * @return String 取得當前的日期時間字符串
     */
    public static String getDateString() {
        String format = "yyyy-MM-dd";
        return getDateTimeString(format);
    }

    /**
     * 取得當前的日期時間字符串YYYY/MM/DD (移動)
     *
     * @return String 取得當前的日期時間字符串YYYY/MM/DD
     */
    public static String getDateString2() {
        String format = "yyyy/MM/dd";
        return getDateTimeString(format);
    }

    /**
     * 取得當前的日期時間字符串YYMMDDHHMISS
     *
     * @return String 取得當前的日期時間字符串YYMMDDHHMISS
     */
    public static String getDateTime12String() {
        String format = "yyMMddHHmmss";
        return getDateTimeString(format);
    }

    /**
     * 取得當前的日期時間字符串YYYYMMDDHHMISS
     *
     * @return String 取得當前的日期時間字符串YYYYMMDDHHMISS
     */
    public static String getDateTime14String() {
        String format = "yyyyMMddHHmmss";
        return getDateTimeString(format);
    }

    /**
     * 取得當前的日期時間字符串YYYYMM
     *
     * @return String 取得當前的日期時間字符串
     */
    public static String getDateTime6String() {
        String format = "yyyyMM";
        return getDateTimeString(format);
    }

    /**
     * 取得當前的日期時間字符串YYYYMMDD
     *
     * @return String 取得當前的日期時間字符串
     */
    public static String getDateTime8String() {
        String format = "yyyyMMdd";
        return getDateTimeString(format);
    }

    /**
     * 取得當前的日期整型數組共7項,分別為年,月,日,時,分,秒,毫秒
     *
     * @return int[] 共7項,分別為年,月,日,時,分,秒,毫秒
     */
    public static int[] getDateTimes() {
        int[] dates = new int[7];
        Calendar calendar = Calendar.getInstance();
        dates[0] = calendar.get(Calendar.YEAR);
        dates[1] = calendar.get(Calendar.MONTH) + 1;
        dates[2] = calendar.get(Calendar.DAY_OF_MONTH);
        dates[3] = calendar.get(Calendar.HOUR_OF_DAY);
        dates[4] = calendar.get(Calendar.MINUTE);
        dates[5] = calendar.get(Calendar.SECOND);
        dates[6] = calendar.get(Calendar.MILLISECOND);
        return dates;
    }

    /**
     * 取得當前的日期時間字符串YYYY-MM-DD HH:mm:ss
     *
     * @return String 取得當前的日期時間字符串YYYY-MM-DD HH:mm:ss
     */
    public static String getDateTimeString() {
        String format = "yyyy-MM-dd HH:mm:ss";
        return getDateTimeString(format);
    }

    /**
     * 取得當前的日期時間字符串
     *
     * @param format
     *            格式,如String format = "yyyy-MM-dd HH:mm:ss";
     * @return String 取得當前的日期時間字符串
     */
    public static String getDateTimeString(String format) {
        return toDateTimeString(new java.util.Date(), format);
    }

    /**
     * 取得當前的日期時間字符串YYYY/MM/DD HH:mm:ss (移動)
     *
     * @return String 取得當前的日期時間字符串YYYY/MM/DD HH:mm:ss
     */
    public static String getDateTimeString2() {
        String format = "yyyy/MM/dd HH:mm:ss";
        return getDateTimeString(format);
    }

    /** 返回從當日結束的Timestamp */
    public static Timestamp getDayEnd(Timestamp stamp) {
        return getDayEnd(stamp, 0);
    }

    /** 返回從多少日后結束的Timestamp */
    public static Timestamp getDayEnd(Timestamp stamp, int daysLater) {
        Calendar tempCal = Calendar.getInstance();

        tempCal.setTime(new java.util.Date(stamp.getTime()));
        tempCal.set(tempCal.get(Calendar.YEAR), tempCal.get(Calendar.MONTH), tempCal.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
        tempCal.add(Calendar.DAY_OF_MONTH, daysLater);
        return new Timestamp(tempCal.getTime().getTime());
    }

    /**
     * 獲取指定時間所在周的第一天的時間
     *
     * @param year 年
     * @param month 月
     * @param day 日
     * @return 年、月、日數組
     */
    public static int[] getDayOfWeek(int year, int month, int day) {
        int[] rtn = new int[6];
        int week = 0;
        long longDate = 0;

        java.util.Date date = null;
        Calendar calendar1 = Calendar.getInstance();
        Calendar calendar2 = Calendar.getInstance();

        Calendar calendar = Calendar.getInstance();
        calendar.set(year, month - 1, day);
        calendar.setFirstDayOfWeek(Calendar.SUNDAY);

        week = calendar.get(Calendar.DAY_OF_WEEK);
        longDate = (calendar.getTime()).getTime() - (60 * 1000 * 60 * 24 * (week - 1));
        date = new java.util.Date(longDate);
        calendar1.setTime(date);

        rtn[0] = calendar1.get(Calendar.YEAR);
        rtn[1] = calendar1.get(Calendar.MONTH) + 1;
        rtn[2] = calendar1.get(Calendar.DATE);

        longDate = (calendar.getTime()).getTime() + (60 * 1000 * 60 * 24 * (7 - week));
        date = new java.util.Date(longDate);
        calendar2.setTime(date);
        rtn[3] = calendar2.get(Calendar.YEAR);
        rtn[4] = calendar2.get(Calendar.MONTH) + 1;
        rtn[5] = calendar2.get(Calendar.DATE);

        return rtn;
    }

    /**
     * 根據傳入的日期得到是每周的周幾
     *
     * @param sendDate 日期格式:yyyy-MM-dd
     * @return
     */
    public static String getDayOfWeek(String sendDate) {
        String dayName[] = { "0", "7", "1", "2", "3", "4", "5", "6" };

        Calendar c = toCalendar(sendDate + " 00:00:00");
        int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);

        return dayName[dayOfWeek];
    }

    /** 返回從當日開始的Timestamp */
    public static Timestamp getDayStart(Timestamp stamp) {
        return getDayStart(stamp, 0);
    }

    /** 返回多少天后開始的Timestamp */
    public static Timestamp getDayStart(Timestamp stamp, int daysLater) {
        Calendar tempCal = Calendar.getInstance();

        tempCal.setTime(new java.util.Date(stamp.getTime()));
        tempCal.set(tempCal.get(Calendar.YEAR), tempCal.get(Calendar.MONTH), tempCal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
        tempCal.add(Calendar.DAY_OF_MONTH, daysLater);
        return new Timestamp(tempCal.getTime().getTime());
    }

    /**
     * 獲取后一天的Date String
     *
     * @param spe 分隔符
     * @return YYYY+spe+MM+spe+DD
     */
    public static String getNextDateStr(String spe) {
        Calendar calendar = Calendar.getInstance();

        long longDate = (calendar.getTime()).getTime() + (1000 * 60 * 60 * 24 * 1);
        java.util.Date date = new java.util.Date(longDate);
        calendar.setTime(date);

        return toDateString(calendar.getTime(), spe);
    }

    /**
     * 獲取后幾天對應的當前時間
     *
     * @param days 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getNextDateString(int days) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, days);

        return toDateString(calendar);
    }

    /**
     * 獲取指定時間的后一天的Date String
     *
     * @param currentDate 分隔符
     * @return YYYY+spe+MM+spe+DD
     */
    public static String getNextDateString(String currentDate) {
        Calendar calendar = toCalendar(currentDate + " 00:00:01");
        calendar.add(Calendar.DAY_OF_MONTH, 1);

        return toDateString(calendar);
    }

    /**
     * 獲取后幾小時對應的當前時間
     *
     * @param hours 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getNextDateStringByHour(int hours) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.HOUR_OF_DAY, hours);

        return toDateString(calendar);
    }

    /**
     * 獲取后幾秒對應的當前時間
     *
     * @param seconds 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getNextDateStringBySecond(int seconds) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.SECOND, seconds);

        return toDateString(calendar);
    }

    /**
     * 獲取后一天的Date String
     *
     * @param format 格式化
     * @return YYYY+spe+MM+spe+DD
     */
    public static String getNextDateTimeStr(String format) {
        Calendar calendar = Calendar.getInstance();

        long longDate = (calendar.getTime()).getTime() + (1000 * 60 * 60 * 24 * 1);
        java.util.Date date = new java.util.Date(longDate);
        calendar.setTime(date);

        return toDateTimeString(calendar.getTime(), format);
    }

    /**
     * 獲取后幾天對應的當前時間
     *
     * @param days 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getNextDateTimeString(int days) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, days);

        return toDateTimeString(calendar);
    }

    /**
     * 獲取后幾小時對應的當前時間
     *
     * @param hours 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getNextDateTimeStringByHour(int hours) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.HOUR_OF_DAY, hours);

        return toDateTimeString(calendar);
    }

    /**
     * 獲取后幾秒對應的當前時間
     *
     * @param seconds 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getNextDateTimeStringBySecond(int seconds) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.SECOND, seconds);

        return toDateTimeString(calendar);
    }

    /**
     * 獲取后一天String
     *
     * @return 年、月、日數組
     */
    public static int[] getNextDay() {
        Calendar calendar = Calendar.getInstance();

        long longDate = (calendar.getTime()).getTime() + (1000 * 60 * 60 * 24 * 1);
        java.util.Date date = new java.util.Date(longDate);
        calendar.setTime(date);

        int[] rtn = new int[3];
        rtn[0] = calendar.get(Calendar.YEAR);
        rtn[1] = calendar.get(Calendar.MONTH) + 1;
        rtn[2] = calendar.get(Calendar.DATE);

        return rtn;
    }

    /**
     * 獲取當前時間的后一天或數天的年、月、日,並以數組形式還回。 數組0為年;1為月;2為日
     *
     * @param year 當前年
     * @param month 當前月
     * @param day 當前日期
     * @param days 相差天數
     * @return 年、月、日數組
     */
    public static int[] getNextDay(int year, int month, int day, int days) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(year, month - 1, day);

        long longDate = (calendar.getTime()).getTime() + (1000 * 60 * 60 * 24 * days);
        java.util.Date date = new java.util.Date(longDate);
        calendar.setTime(date);

        int[] rtn = new int[3];
        rtn[0] = calendar.get(Calendar.YEAR);
        rtn[1] = calendar.get(Calendar.MONTH) + 1;
        rtn[2] = calendar.get(Calendar.DATE);

        return rtn;
    }

    /** 返回下一天開始的Timestamp */
    public static Timestamp getNextDayStart(Timestamp stamp) {
        return getDayStart(stamp, 1);
    }

    /**
     * 獲取前幾小時對應的當前時間
     *
     * @param hours 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getPreviousDateByHourString(int hours) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.HOUR_OF_DAY, -hours);

        return toDateString(calendar);
    }

    /**
     * 獲取前幾秒對應的當前時間
     *
     * @param second 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getPreviousDateBySecondString(int second) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.SECOND, -second);

        return toDateString(calendar);
    }

    /**
     * 獲取前一天對應的當前時間,采用標准格式yyyy-MM-dd
     *
     * @return String
     */
    public static String getPreviousDateString() {

        return getPreviousDateTimeString("yyyy-MM-dd");
    }

    /**
     * 獲取前幾天對應的當前時間
     *
     * @param days 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getPreviousDateString(int days) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, -days);

        return toDateString(calendar);
    }

    /**
     * 獲取前一天對應的當前時間,采用標准格式yyyyMMdd
     *
     * @return String
     */
    public static String getPreviousDateString1() {

        return getPreviousDateTimeString("yyyyMMdd");
    }

    /**
     * 獲取前一天對應的當前時間,采用短信格式yyyy/MM/dd
     *
     * @return String
     */
    public static String getPreviousDateString2() {

        return getPreviousDateTimeString("yyyy/MM/dd");
    }

    /**
     * 獲取前幾小時對應的當前時間
     *
     * @param hours 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getPreviousDateTimeByHourString(int hours) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.HOUR_OF_DAY, -hours);

        return toDateTimeString(calendar);
    }

    /**
     * 獲取前幾秒對應的當前時間
     *
     * @param second 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getPreviousDateTimeBySecondString(int second) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.SECOND, -second);

        return toDateTimeString(calendar);
    }

    /**
     * 獲取前一天對應的當前時間,采用標准格式yyyy-MM-dd HH:mm:ss
     *
     * @return String
     */
    public static String getPreviousDateTimeString() {

        return getPreviousDateTimeString("yyyy-MM-dd HH:mm:ss");
    }

    /**
     * 獲取前幾天對應的當前時間
     *
     * @param days 格式化如 yyyy-MM-dd
     * @return String
     */
    public static String getPreviousDateTimeString(int days) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, -days);

        return toDateTimeString(calendar);
    }

    /**
     * 獲取前一天對應的當前時間
     *
     * @param format 格式化如 yyyy-MM-dd HH:mm:ss
     * @return String
     */
    public static String getPreviousDateTimeString(String format) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, -1);

        return toDateTimeString(calendar, format);
    }

    /**
     * 獲取前一天對應的當前時間,采用短信格式yyyy/MM/dd HH:mm:ss
     *
     * @return String
     */
    public static String getPreviousDateTimeString2() {

        return getPreviousDateTimeString("yyyy/MM/dd HH:mm:ss");
    }

    /**
     * 獲取當前時間的前一天或數天的年、月、日,並以數組形式還回。 數組0為年;1為月;2為日
     *
     * @param year 當前年
     * @param month 當前月
     * @param day 當前日期
     * @param days 相差天數
     * @return 年、月、日數組
     */
    public static int[] getPreviousDay(int year, int month, int day, int days) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(year, month - 1, day);

        long longDate = (calendar.getTime()).getTime() - (1000 * 60 * 60 * 24 * days);
        java.util.Date date = new java.util.Date(longDate);
        calendar.setTime(date);

        int[] rtn = new int[3];
        rtn[0] = calendar.get(Calendar.YEAR);
        rtn[1] = calendar.get(Calendar.MONTH) + 1;
        rtn[2] = calendar.get(Calendar.DATE);

        return rtn;
    }

    /**
     * 得到當前時間的上一個月.格式:yyyy-MM
     */
    public static String getProviesMoth() {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.MONTH, -1);

        return DateTimeUtil.toDateTimeString(calendar, "yyyy-MM");
    }

    /**
     * 獲取和當前時間毫秒差值
     *
     * @param dateTime YYYY-MM-DD hh:mm:ss
     * @return 毫秒差
     */
    public static long getTimeMargin(String dateTime) {
        int index = dateTime.indexOf(" ");
        String date = dateTime.substring(0, index);
        String time = dateTime.substring(index + 1);

        int dateSlash1 = date.indexOf("-");
        int dateSlash2 = date.lastIndexOf("-");

        if (dateSlash1 <= 0 || dateSlash1 == dateSlash2)
            return -1;

        int timeColon1 = time.indexOf(":");
        int timeColon2 = time.lastIndexOf(":");

        if (timeColon1 <= 0 || timeColon1 == timeColon2)
            return -1;

        Calendar calendar = Calendar.getInstance();

        try {
            int year = Integer.parseInt(date.substring(0, dateSlash1));
            int month = Integer.parseInt(date.substring(dateSlash1 + 1, dateSlash2));
            int day = Integer.parseInt(date.substring(dateSlash2 + 1));

            int hour = Integer.parseInt(time.substring(0, timeColon1));
            int minute = Integer.parseInt(time.substring(timeColon1 + 1, timeColon2));
            int second = Integer.parseInt(time.substring(timeColon2 + 1));

            calendar.set(year, month - 1, day, hour, minute, second);
        }
        catch (Exception e) {
            return -1;
        }

        return System.currentTimeMillis() - calendar.getTimeInMillis();
    }

    public static String getTimeMillStr() {
        Calendar calendar = Calendar.getInstance();
        long time = calendar.getTimeInMillis();
        String result = String.valueOf(time);
        return result;
    }

    /**
     * 取得當前的日期時間字符串HH:mm:ss
     *
     * @return String 取得當前的日期時間字符串
     */
    public static String getTimeString() {
        String format = "HH:mm:ss";
        return getDateTimeString(format);
    }

    /**
     * 日期字符串校驗,是否與指定的 format格式一致.
     *
     * @param dateStr
     * @param format 格式字符串,比如 yyyy-MM-dd
     * @return
     */
    public static boolean isDate(String dateStr, String format) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            sdf.setLenient(false);
            sdf.parse(dateStr);
        }
        catch (ParseException e) {
            return false;
        }
        return true;
    }

    /** 返回當前時間的Date */
    public static java.util.Date nowDate() {
        return new java.util.Date();
    }

    /** 返回當前時間的Timestamp */
    public static Timestamp nowTimestamp() {
        return new Timestamp(System.currentTimeMillis());
    }

    /**
     * 通過標准時間輸入,年,月,日,時,分,秒,生成java.util.Date
     *
     * @param year 年
     * @param month 月
     * @param day 日
     * @param hour 時
     * @param minute 分
     * @param second 秒
     * @return Calendar
     */
    public static Calendar toCalendar(int year, int month, int day, int hour, int minute, int second) {
        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR, year);
        c.set(Calendar.MONTH, month - 1);
        c.set(Calendar.DATE, day);
        c.set(Calendar.HOUR_OF_DAY, hour);
        c.set(Calendar.MINUTE, minute);
        c.set(Calendar.SECOND, second);

        return c;
    }

    /**
     * 通過整型數組,組織一個日歷
     *
     * @param dates
     * @return 通過整型數組,返回一個日歷
     */
    public static Calendar toCalendar(int[] dates) {
        if (dates == null || dates.length < 6)
            return null;

        return toCalendar(dates[0], dates[1], dates[2], dates[3], dates[4], dates[5]);
    }

    /**
     * 通過String,組織一個日歷
     *
     * @param datetime
     * @return 通過整型數組,返回一個日歷
     */
    public static Calendar toCalendar(String datetime) {
        java.util.Date date = toDateFromStr(datetime);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return calendar;
    }

    /**
     * 通過標准時間輸入,年,月,日,時,分,秒,生成java.util.Date
     *
     * @param yearStr 年
     * @param monthStr 月
     * @param dayStr 日
     * @param hourStr 時
     * @param minuteStr 分
     * @param secondStr 秒
     * @return Calendar
     */
    public static Calendar toCalendar(String yearStr, String monthStr, String dayStr, String hourStr, String minuteStr, String secondStr) {
        int year, month, day, hour, minute, second;

        try {
            year = Integer.parseInt(yearStr);
            month = Integer.parseInt(monthStr);
            day = Integer.parseInt(dayStr);
            hour = Integer.parseInt(hourStr);
            minute = Integer.parseInt(minuteStr);
            second = Integer.parseInt(secondStr);
        }
        catch (Exception e) {
            return null;
        }

        return toCalendar(year, month, day, hour, minute, second);
    }

    /**
     * 通過標准時間輸入,年,月,日,時,分,秒,生成java.util.Date
     *
     * @param year 年
     * @param month 月
     * @param day 日
     * @param hour 時
     * @param minute 分
     * @param second 秒
     * @return java.util.Date
     */
    public static java.util.Date toDate(int year, int month, int day, int hour, int minute, int second) {
        Calendar calendar = Calendar.getInstance();

        try {
            calendar.set(year, month - 1, day, hour, minute, second);
        }
        catch (Exception e) {
            return null;
        }
        return calendar.getTime();
    }

    /**
     * 通過整型數組,組織一個日期
     *
     * @param dates
     * @return 通過整型數組,組織一個日期
     */
    public static java.util.Date toDate(int[] dates) {
        if (dates == null || dates.length < 6)
            return null;

        return toCalendar(dates).getTime();
    }

    /**
     * 字符串轉為時間,字符串符合標准格式:"YYYY-MM-DD HH:MM:SS"
     *
     * @param dateTime 標准時間格式 "YYYY-MM-DD HH:MM:SS"
     * @return java.util.Date
     */
    public static java.util.Date toDate(String dateTime) {
        int index = dateTime.indexOf(" ");
        String date = dateTime.substring(0, index);
        String time = dateTime.substring(index + 1);

        return toDate(date, time);
    }

    /**
     * 字符串轉為時間,字符串符合標准日期格式:"YYYY-MM-DD",和標准時間格式:"HH:MM:SS"
     *
     * @param date 標准日期格式 "YYYY-MM-DD"
     * @param time 標准時間格式 "HH:MM:SS"
     * @return java.util.Date
     */
    public static java.util.Date toDate(String date, String time) {
        if (date == null || time == null)
            return null;

        int dateSlash1 = date.indexOf("-");
        int dateSlash2 = date.lastIndexOf("-");

        if (dateSlash1 <= 0 || dateSlash1 == dateSlash2)
            return null;

        int timeColon1 = time.indexOf(":");
        int timeColon2 = time.lastIndexOf(":");

        if (timeColon1 <= 0 || timeColon1 == timeColon2)
            return null;

        String year = date.substring(0, dateSlash1);
        String month = date.substring(dateSlash1 + 1, dateSlash2);
        String day = date.substring(dateSlash2 + 1);

        String hour = time.substring(0, timeColon1);
        String minute = time.substring(timeColon1 + 1, timeColon2);
        String second = time.substring(timeColon2 + 1);
        ;

        return toDate(year, month, day, hour, minute, second);
    }

    /**
     * 通過標准時間輸入,年,月,日,時,分,秒,生成java.util.Date
     *
     * @param yearStr 年
     * @param monthStr 月
     * @param dayStr 日
     * @param hourStr 時
     * @param minuteStr 分
     * @param secondStr 秒
     * @return java.util.Date
     */
    public static java.util.Date toDate(String yearStr, String monthStr, String dayStr, String hourStr, String minuteStr, String secondStr) {
        int year, month, day, hour, minute, second;

        try {
            year = Integer.parseInt(yearStr);
            month = Integer.parseInt(monthStr);
            day = Integer.parseInt(dayStr);
            hour = Integer.parseInt(hourStr);
            minute = Integer.parseInt(minuteStr);
            second = Integer.parseInt(secondStr);
        }
        catch (Exception e) {
            return null;
        }
        return toDate(year, month, day, hour, minute, second);
    }

    /**
     * 取得當前的日期時間 按默認格式YYYY-MM-DD HH:mm:ss不對則返回null
     *
     * @param str 字符串
     * @return 取得當前的日期時間 按默認格式不對則返回null
     */
    public static java.util.Date toDateFromStr(String str) {
        try {
            String format = "yyyy-MM-dd HH:mm:ss";
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return sdf.parse(str);
        }
        catch (ParseException e) {
            return null;
        }
    }

    /**
     * 取得當前的日期時間
     *
     * @param str 字符串
     * @param format 格式
     * @return 取得當前的日期時間 如果格式不對則返回null
     */
    public static java.util.Date toDateFromStr(String str, String format) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return sdf.parse(str);
        }
        catch (ParseException e) {
            return null;
        }
    }

    /**
     * 取得給定日歷,給定格式的日期字符串
     *
     * @param calendar 日歷,給定一個日歷
     * @return String 取得默認的日期時間字符串"yyyy-MM-dd"
     */
    public static String toDateString(Calendar calendar) {
        String format = "yyyy-MM-dd";
        return toDateTimeString(calendar.getTime(), format);
    }

    /** ****************************************************** */
    // 以下為數據庫使用的日期方法,Timestamp ,java.sql.Date
    /** ****************************************************** */

    /**
     * 生成標准日期,格式為 YYYY-MM-DD
     *
     * @param date The Date
     * @return 生成日期,格式為 YYYY-MM-DD
     */
    public static String toDateString(java.util.Date date) {
        return toDateString(date, "-");
    }

    /**
     * 生成標准日期,格式為 YYYY+spe+MM+spe+DD
     *
     * @param date The Date
     * @return 生成日期,格式為 YYYY+spe+MM+spe+DD
     */
    public static String toDateString(java.util.Date date, String spe) {
        if (date == null)
            return "";

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);
        int month = calendar.get(Calendar.MONTH) + 1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int year = calendar.get(Calendar.YEAR);

        String monthStr = "" + month;
        String dayStr = "" + day;
        String yearStr = "" + year;

        if (month < 10)
            monthStr = "0" + month;

        if (day < 10)
            dayStr = "0" + day;

        return yearStr + spe + monthStr + spe + dayStr;
    }

    /**
     * 取得給定日歷,給定格式的日期時間字符串
     *
     * @param calendar 日歷,給定一個日歷
     * @return String 取得默認的日期時間字符串"yyyy-MM-dd HH:mm:ss"
     */
    public static String toDateTimeString(Calendar calendar) {
        String format = "yyyy-MM-dd HH:mm:ss";
        return toDateTimeString(calendar.getTime(), format);
    }

    /**
     * 取得給定日歷,給定格式的日期時間字符串
     *
     * @param calendar 日歷,給定一個日歷
     * @param format 格式,如String format = "yyyy-MM-dd HH:mm:ss";
     * @return String 取得給定日歷,給定格式的日期時間字符串
     */
    public static String toDateTimeString(Calendar calendar, String format) {
        return toDateTimeString(calendar.getTime(), format);
    }

    /**
     * 生成標准格式的字符串 格式為: "MM-DD-YYYY HH:MM:SS"
     *
     * @param date The Date
     * @return 生成默認格式的字符串 格式為: "MM-DD-YYYY HH:MM:SS"
     */
    public static String toDateTimeString(java.util.Date date) {
        if (date == null)
            return "";

        String dateString = toDateString(date);
        String timeString = toTimeString(date);

        if (dateString == null || timeString == null)
            return "";

        return dateString + " " + timeString;
    }

    /**
     * 取得給定時間,給定格式的日期時間字符串
     *
     * @param date 日期,給定一個時間
     * @param format  格式,如String format = "yyyy-MM-dd HH:mm:ss";
     * @return String 取得給定時間,給定格式的日期時間字符串
     */
    public static String toDateTimeString(java.util.Date date, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(date);
    }

    /**
     * 取得給定時間,給定格式的日期時間字符串,標准格式:"yyyy-MM-dd HH:mm:ss";
     *
     * @param datetime 日期,給定一個時間的毫秒數
     * @return String 取得給定時間,給定格式的日期時間字符串
     */
    public static String toDateTimeString(long datetime) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return sdf.format(new java.util.Date(datetime));
    }

    /**
     * 取得給定時間,給定格式的日期時間字符串
     *
     * @param datetime 日期,給定一個時間的毫秒數
     * @param format 格式,如String format = "yyyy-MM-dd HH:mm:ss";
     * @return String 取得給定時間,給定格式的日期時間字符串
     */
    public static String toDateTimeString(long datetime, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(new java.util.Date(datetime));
    }

    /**
     * 生成java.sql.Date,通過傳入year, month, day
     *
     * @param year 年
     * @param month 月
     * @param day 日
     * @return A java.sql.Date
     */
    public static java.sql.Date toSqlDate(int year, int month, int day) {
        java.util.Date newDate = toDate(year, month, day, 0, 0, 0);

        if (newDate == null)
            return null;

        return new java.sql.Date(newDate.getTime());
    }

    /**
     * String到java.sql.Date的轉換 標准格式:YYYY-MM-DD
     *
     * @param date The date String
     * @return java.sql.Date
     */
    public static java.sql.Date toSqlDate(String date) {
        java.util.Date newDate = toDate(date, "00:00:00");

        if (newDate == null)
            return null;

        return new java.sql.Date(newDate.getTime());
    }

    /**
     * 生成java.sql.Date,通過傳入year, month, day
     *
     * @param yearStr 年
     * @param monthStr 月
     * @param dayStr 日
     * @return A java.sql.Date
     */
    public static java.sql.Date toSqlDate(String yearStr, String monthStr, String dayStr) {
        java.util.Date newDate = toDate(yearStr, monthStr, dayStr, "0", "0", "0");

        if (newDate == null)
            return null;

        return new java.sql.Date(newDate.getTime());
    }

    /**
     * 生成 java.sql.Time 通過輸入時,分,秒
     *
     * @param hour int 時
     * @param minute int 分
     * @param second 秒
     * @return A java.sql.Time
     */
    public static java.sql.Time toSqlTime(int hour, int minute, int second) {
        java.util.Date newDate = toDate(0, 0, 0, hour, minute, second);

        if (newDate == null)
            return null;

        return new java.sql.Time(newDate.getTime());
    }

    /**
     * 轉換String 到 java.sql.Time,格式:"HH:MM:SS"
     *
     * @param time The time String
     * @return A java.sql.Time
     */
    public static java.sql.Time toSqlTime(String time) {
        java.util.Date newDate = toDate("1970-1-1", time);

        if (newDate == null)
            return null;

        return new java.sql.Time(newDate.getTime());
    }

    /**
     * 生成 java.sql.Time 通過輸入時,分,秒
     *
     * @param hourStr 時
     * @param minuteStr 分
     * @param secondStr 秒
     * @return A java.sql.Time
     */
    public static java.sql.Time toSqlTime(String hourStr, String minuteStr, String secondStr) {
        java.util.Date newDate = toDate("0", "0", "0", hourStr, minuteStr, secondStr);

        if (newDate == null)
            return null;

        return new java.sql.Time(newDate.getTime());
    }

    /**
     * 生成 Timestamp 通過輸入年,月,日,時,分,秒
     *
     * @param year 年 int
     * @param month 月 int
     * @param day 日 int
     * @param hour 時 int
     * @param minute 分 int
     * @param second 秒 int
     * @return Timestamp
     */
    @SuppressWarnings("null")
    public static Timestamp toTimestamp(int year, int month, int day, int hour, int minute, int second) {
        java.util.Date newDate = toDate(year, month, day, hour, minute, second);

        if (newDate != null)
            return null;

        return new Timestamp(newDate.getTime());
    }

    /**
     * 轉換String 到 java.sql.Timestamp,格式:"YYYY-MM-DD HH:MM:SS"
     *
     * @param dateTime 格式:"YYYY-MM-DD HH:MM:SS"
     * @return Timestamp
     */
    @SuppressWarnings("null")
    public static Timestamp toTimestamp(String dateTime) {
        java.util.Date newDate = toDate(dateTime);

        if (newDate != null)
            return null;

        return new Timestamp(newDate.getTime());
    }

    /**
     * 轉換String 到 java.sql.Timestamp,格式:"YYYY-MM-DD HH:MM:SS"
     *
     * @param date The date String: YYYY-MM-DD
     * @param time The time String: HH:MM:SS
     * @return Timestamp
     */
    public static Timestamp toTimestamp(String date, String time) {
        java.util.Date newDate = toDate(date, time);

        if (newDate == null)
            return null;

        return new Timestamp(newDate.getTime());
    }

    /**
     * 生成 Timestamp 通過輸入年,月,日,時,分,秒
     *
     * @param yearStr 年
     * @param monthStr 月
     * @param dayStr 日
     * @param hourStr 時
     * @param minuteStr 分
     * @param secondStr T秒
     * @return Timestamp
     */
    @SuppressWarnings("null")
    public static Timestamp toTimestamp(String yearStr, String monthStr, String dayStr, String hourStr, String minuteStr, String secondStr) {
        java.util.Date newDate = toDate(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);

        if (newDate != null)
            return null;

        return new Timestamp(newDate.getTime());
    }

    /**
     * 根據輸入的時,分,秒,生成時間格式 HH:MM:SS
     *
     * @param hour 時
     * @param minute 分
     * @param second 秒
     * @return 生成時間格式為 HH:MM:SS
     */
    public static String toTimeString(int hour, int minute, int second) {
        String hourStr = "" + hour;
        String minuteStr = "" + minute;
        String secondStr = "" + second;

        if (hour < 10)
            hourStr = "0" + hour;

        if (minute < 10)
            minuteStr = "0" + minute;

        if (second < 10)
            secondStr = "0" + second;

        return hourStr + ":" + minuteStr + ":" + secondStr;
    }

    /**
     * 根據輸入的時間,生成時間格式 HH:MM:SS
     *
     * @param date java.util.Date
     * @return 生成時間格式為 HH:MM:SS
     */
    public static String toTimeString(java.util.Date date) {
        if (date == null)
            return "";

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);
        return toTimeString(calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND));
    }

    /**
     * 獲取傳入時間的前N個小時對應的時間
     *
     * @param format 格式化如 yyyy-MM-dd HH:mm:ss
     * @param hour 小時數
     * @return String 格式化如 yyyy-MM-dd HH:mm:ss
     */
    public static String getPreviousDateTimeString(String format, int hour) {
        Calendar calendar = toCalendar(format);
        calendar.add(Calendar.HOUR_OF_DAY, -hour);
        return toDateTimeString(calendar, format);
    }

    /**
     * 獲取傳入時間的前N天時間
     *
     * @param format 格式化如 yyyyMMdd
     * @return String 格式化如 yyyyMMdd
     */
    public static String getPreviousDateString(String format, int days) {
        format = format.substring(0, 4) + "-" + format.substring(4, 6) + "-" + format.substring(6, 8) + " 00:00:00";
        Calendar calendar = toCalendar(format);
        calendar.add(Calendar.DAY_OF_MONTH, -days);
        return toDateString(calendar).replaceAll("-", "").substring(0, 8);
    }

    /**
     * 得到幾天前的時間
     *
     * @param d
     * @param day
     * @return
     * @throws ParseException
     */
    public static String getDateBefore(String d, int day) throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date dt = formatter.parse(d);
        Calendar now = Calendar.getInstance();
        now.setTime(dt);
        now.set(Calendar.DATE, now.get(Calendar.DATE) - day);
        String time = formatter.format(now.getTime());
        return time;
    }
    /**
     * 得到幾天后的時間
     *
     * @param d
     * @param day
     * @return
     */
    public static String getDateAfter(String d, int day) throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date dt = formatter.parse(d);
        Calendar now = Calendar.getInstance();
        now.setTime(dt);
        now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
        String time = formatter.format(now.getTime());
        return time;
    }

    /**
     * 獲取當前星期幾
     * @param pTime
     * @return
     * @throws Exception
     */
    public static int dayForWeek(String pTime) throws Exception {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Calendar c = Calendar.getInstance();
        c.setTime(format.parse(pTime));
        int dayForWeek = 0;
        if(c.get(Calendar.DAY_OF_WEEK) == 1){
            dayForWeek = 7;
        }else{
            dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1;
        }
        return dayForWeek;
    }

    /**
     * 根據當前日期獲取周一周日
     * @param daytime
     * @throws ParseException
     */
    public static String[] getWeek(String daytime) throws ParseException {
        String[] weekday = new String[2];
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //設置時間格式
        Calendar cal = Calendar.getInstance();
        Date time=sdf.parse(daytime);
        cal.setTime(time);
        logger.info("要計算日期為:",sdf.format(cal.getTime()));//輸出要計算日期

        //判斷要計算的日期是否是周日,如果是則減一天計算周六的,否則會出問題,計算到下一周去了
        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//獲得當前日期是一個星期的第幾天
        if(1 == dayWeek) {
            cal.add(Calendar.DAY_OF_MONTH, -1);
        }

        cal.setFirstDayOfWeek(Calendar.MONDAY);//設置一個星期的第一天,按中國的習慣一個星期的第一天是星期一

        int day = cal.get(Calendar.DAY_OF_WEEK);//獲得當前日期是一個星期的第幾天
        cal.add(Calendar.DATE, cal.getFirstDayOfWeek()-day);//根據日歷的規則,給當前日期減去星期幾與一個星期第一天的差值
        weekday[0] = sdf.format(cal.getTime());
        cal.add(Calendar.DATE, 6);
        weekday[1] = sdf.format(cal.getTime());
        return weekday;
    }
    /**
     * 獲取當前月初月末
     * @param daytime
     * @return
     * @throws ParseException
     */
    public static String[] getMonth(String daytime) throws ParseException {
        String[] weekday = new String[2];
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //設置時間格式
        Calendar cal = Calendar.getInstance();
        Date time=sdf.parse(daytime);
        cal.setTime(time);
        logger.info("要計算日期為:",sdf.format(cal.getTime()));
        //判斷要計算的日期是否是周日,如果是則減一天計算周六的,否則會出問題,計算到下一周去了
        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//獲得當前日期是一個星期的第幾天
        if(1 == dayWeek) {
            cal.add(Calendar.DAY_OF_MONTH, -1);
        }

        cal.setFirstDayOfWeek(Calendar.MONDAY);//設置一個星期的第一天,按中國的習慣一個星期的第一天是星期一

        int day = cal.get(Calendar.DAY_OF_WEEK);//獲得當前日期是一個星期的第幾天
        cal.add(Calendar.DATE, cal.getFirstDayOfWeek()-day);//根據日歷的規則,給當前日期減去星期幾與一個星期第一天的差值
        weekday[0] = sdf.format(cal.getTime());
        cal.add(Calendar.DATE, 6);
        weekday[1] = sdf.format(cal.getTime());
        return weekday;
    }

    /**
     * 得到幾年前的時間
     *
     * @param d
     * @param year
     * @return
     * @throws ParseException
     */
    public static String getDateYearBefore(String d, int year) throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date dt = formatter.parse(d);
        Calendar now = Calendar.getInstance();
        now.setTime(dt);
        now.set(Calendar.YEAR, now.get(Calendar.YEAR) - year);
        String time = formatter.format(now.getTime());
        return time;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM