直播電商平臺開發,日期與時間戳轉換封裝工具類

zhibo系統開發發表於2023-01-31

直播電商平臺開發,日期與時間戳轉換封裝工具類

一、封裝背景

在日常開發中會經常用到日期和時間戳之間的相互轉換,如果每次都寫一次轉換的程式碼,雖然轉換的程式碼量不算多,但是也會出現很多的程式碼重複,這會顯得程式碼比較冗雜不夠優雅。這時候就需要來對該部分進行相應的最佳化,而這個最佳化最好的選擇就是對這些類似的常用程式碼進行封裝,由於都是關於日期與時間戳之間的轉換,可以將其封裝成一個工具類。這樣在使用的時候一行程式碼搞定。


二、封裝思路梳理

先來大概梳理一下要封裝的工具類都需要具備什麼功能:


時間戳和Date轉時間

時間和Date轉時間戳

時間和時間戳轉Date

梳理了工具類的功能,那麼接下來就可以開始封裝了。


三、開始封裝

1. 時間戳和Date轉時間

a. 獲取當前時間

/**
     * 獲取當前時間 格式:yyyy-MM-dd HH:mm:ss
     * @return 時間
     */
    public static String currentTime() {
        return currentTime("yyyy-MM-dd HH:mm:ss");
    }
    /**
     * 獲取當前時間
     * @param pattern 格式
     * @return 時間
     */
    public static String currentTime(String pattern) {
        LocalDateTime ldt = LocalDateTime.now();
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern);
        return ldt.format(dtf);
    }


 

b. Date轉時間

 

   /**
     * 透過date獲取時間 格式:yyyy-MM-dd HH:mm:ss
     * @param date 日期
     * @return 時間
     */
    public static String timeOf(Date date) {
        return timeOf(date, "yyyy-MM-dd HH:mm:ss");
    }
    /**
     * 透過date獲取時間
     * @param date    日期
     * @param pattern 格式
     * @return 時間
     */
    public static String timeOf(Date date, String pattern) {
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        return sdf.format(date);
    }


c. 時間戳轉時間

    /**
     * 透過時間戳獲取時間 格式:yyyy-MM-dd HH:mm:ss
     * @param timeMillis 時間戳(毫秒)
     * @return  時間
     */
    public static String timeOf(long timeMillis) {
        return timeOf(timeMillis, "yyyy-MM-dd HH:mm:ss");
    }
    /**
     * 透過時間戳獲取時間 格式:yyyy-MM-dd HH:mm:ss
     * @param timeMillis 時間戳(毫秒)
     * @param pattern    格式
     * @return  對應時間
     */
    public static String timeOf(long timeMillis, String pattern) {
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        return sdf.format(timeMillis);
    }


2. 時間和Date轉時間戳

a. 獲取當前時間戳

 

  /**
     * 獲取當前時間戳(毫秒)
     * @return 時間戳(毫秒)
     */
    public static long currentTimeMillis() {
        return new Date().getTime();
    }
    /**
     * 獲取當前時間戳(毫秒)字串
     * @return 時間戳(毫秒)字串
     */
    public static String currentTimeMillisStr() {
        return String.valueOf(new Date().getTime());
    }


b. 時間轉時間戳

 

   /**
     * 獲取指定時間的時間戳(毫秒)  格式:yyyy-MM-dd HH:mm:ss
     * @param time    時間
     * @return 時間戳(毫秒)
     */
    public static long timeMillisOf(String time) {
        return timeMillisOf(time, "yyyy-MM-dd HH:mm:ss");
    }
    /**
     * 獲取指定時間及格式的時間戳(毫秒)
     * @param time    時間
     * @param pattern 格式
     * @return 時間戳(毫秒)
     */
    public static long timeMillisOf(String time, String pattern) {
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        Date date = null;
        try {
            date = sdf.parse(time);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date != null ? date.getTime() : 0;
    }
    /**
     * 獲取指定時間的時間戳(毫秒)字串  格式:yyyy-MM-dd HH:mm:ss
     * @param time    時間
     * @return 時間戳(毫秒)字串
     */
    public static String timeMillisStrOf(String time) {
        return timeMillisStrOf(time, "yyyy-MM-dd HH:mm:ss");
    }
    /**
     * 獲取指定時間及格式的時間戳(毫秒)字串
     * @param time    時間
     * @param pattern 格式
     * @return 時間戳(毫秒)字串
     */
    public static String timeMillisStrOf(String time, String pattern) {
        return String.valueOf(timeMillisOf(time, pattern));
    }


c. Date轉時間戳

/**
     * 獲取指定Date時間戳(毫秒)
     * @param date date
     * @return 時間戳(毫秒)
     */
    public static long timeMillisOf(Date date) {
        return date.getTime();
    }
    /**
     * 獲取指定Date時間戳(毫秒)字串
     * @param date date
     * @return 時間戳(毫秒)字串
     */
    public static String timeMillisStrOf(Date date) {
        return String.valueOf(date.getTime());
    }


 以上就是 直播電商平臺開發,日期與時間戳轉換封裝工具類,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2933415/,如需轉載,請註明出處,否則將追究法律責任。

相關文章