最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java編寫時間工具類ZTDateTimeUtil的示例代碼

 更新時間:2023年11月10日 14:24:18   作者:Recently 祝祝  
這篇文章主要為大家詳細介紹了如何利用Java編寫時間工具類ZTDateTimeUtil,文中的示例代碼講解詳細,有需要的小伙伴可以跟隨小編一起學習一下

1.返回指定格式的當前時間,Date-->FormatString,Date類型轉(zhuǎn)Strig

 Date date = new Date();
 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
 String datestring  = simpleDateFormat.format(date);
 System.out.printf(datestring);

2.返回固定格式的Date類型時間Date---》ToString---》ToDate,Date類型格式化成Date

public  static String TimeFormat ="yyyy-MM-dd";
    public static void main(String[] args) {
        Date date =new Date(System.currentTimeMillis());
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(TimeFormat);
        String dateformat=simpleDateFormat.format(date);
        System.out.printf(dateformat);
        Date dateafterFormat =null;
        try {
            dateafterFormat=simpleDateFormat.parse(dateformat);
            System.out.printf(String.valueOf(dateafterFormat));
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }

3.字符串轉(zhuǎn)日期 String格式化成String

//parse(String text, ParsePosition pos)
//解析字符串中的文本以Date生成,parase需要背用try-catch包圍
 String dateTime ="2023-01-16 17:35:16";
  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    try {
        Date date =simpleDateFormat.parse(dateTime);
        System.out.printf(date.toString());
    } catch (ParseException e) {
        throw new RuntimeException(e);
}

4.兩時間關系判斷構件

 //時間相等返回0,time1大于time2返回1,time1小于time2返回-1
  Date time1 = new Date(System.currentTimeMillis());
  String date ="2023-01-17 17:35:16";
   Date time2 = null;
   try {
       time2 = new SimpleDateFormat("yyyy-MM-dd").parse(date);
   } catch (ParseException e) {
       throw new RuntimeException(e);
   }
   int flag =time1.compareTo(time2);
   System.out.printf(flag+"");

5.Date轉(zhuǎn)換為字符串:Date格式化成String

 public static String date2Str(Date date, String format) {
        if (null == date) {
            return null;
        }
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(date);
}

6.String類型時間戳格式化成日期格式String

public static String changesStringTimestamToformat(String timestamp){
        LocalDateTime parse = LocalDateTime.ofInstant(Instant.ofEpochMilli(Long.parseLong(timestamp)), ZoneId.systemDefault());
        String format = parse.format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"));
        return format;
    }

知識補充

時間格式化工具類:時間格式化工具,一秒前,一分鐘前,一小時前,昨天,一天前

package com.awifi.cloudnative.container.rbac.user.provider.utils;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
* @Author 張鑫
* @Date 2022/4/20
* @Param 
* @return 
**/
public class dataFormatUtils {
   
   
   /**
    * 時間格式化
    *
    * @param date
    * @return
    */
   public static String format(Date date) {
       // 計算出相差天數(shù)
       int days = differentDays(date, new Date());
       // 同一天
       if (0 == days) {
           // 計算出時間差
           long delta = new Date().getTime() - date.getTime();
           // 小于一分鐘
           if (delta < 1L * 60000L) {
               long seconds = toSeconds(delta);
               return (seconds <= 0 ? 1 : seconds) + "秒前";
           }
           // 小于一小時
           else if (delta < 1L * 3600000L) {
               long minutes = toMinutes(delta);
               return (minutes <= 0 ? 1 : minutes) + "分鐘前";
           }
           // 小于24小時
           else if (delta < 24L * 3600000L) {
               long hours = toHours(delta);
               return (hours <= 0 ? 1 : hours) + "小時前";
           }
       }
       // 不同一天
       else {
           if (1 == days) {
               return "昨天";
           }
           // 幾天前
           else if (3 >= days) {
               return days + "天前";
           }
       }
       // 格式化時間
       return getYmdHm(date);
   }

   /**
    * 獲取秒
    *
    * @param date
    * @return
    */
   private static long toSeconds(long date) {
       return date / 1000L;
   }

   /**
    * 獲取分鐘
    *
    * @param date
    * @return
    */
   private static long toMinutes(long date) {
       return toSeconds(date) / 60L;
   }

   /**
    * 獲取小時
    *
    * @param date
    * @return
    */
   private static long toHours(long date) {
       return toMinutes(date) / 60L;
   }

   /**
    * 時間格式化,yyyy-MM-dd HH:mm
    */
   public static String getYmdHm(Date date) {
       DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
       return df.format(date);
   }

   /**
    * 獲取天數(shù)
    *
    * @param oldDate
    * @param newDate
    * @return
    */
   public static int differentDays(Date oldDate, Date newDate) {
       Calendar oldCal = Calendar.getInstance();
       oldCal.setTime(oldDate);

       Calendar newCal = Calendar.getInstance();
       newCal.setTime(newDate);
       int oldDay = oldCal.get(Calendar.DAY_OF_YEAR);
       int newDay = newCal.get(Calendar.DAY_OF_YEAR);

       int oldYear = oldCal.get(Calendar.YEAR);
       int newYear = newCal.get(Calendar.YEAR);
       // 不是同一年
       if (oldYear != newYear) {
           int timeDistance = 0;
           for (int i = oldYear; i < newYear; i++) {
               //如果是閏年
               if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
                   timeDistance += 366;
               }
               //不是閏年
               else {
                   timeDistance += 365;
               }
           }
           return timeDistance + (newDay - oldDay);
       }
       // 是同一年
       else {
           return newDay - oldDay;
       }
   }
}

到此這篇關于Java編寫時間工具類ZTDateTimeUtil的示例代碼的文章就介紹到這了,更多相關Java時間工具類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • spring中的事務執(zhí)行流程圖解

    spring中的事務執(zhí)行流程圖解

    這篇文章主要介紹了spring中的事務執(zhí)行流程圖解,Spring事務是Spring框架提供的一種管理數(shù)據(jù)庫事務的機制,它通過將一系列數(shù)據(jù)庫操作封裝在一個事務中,保證這些操作要么全部成功執(zhí)行,要么全部回滾,從而確保數(shù)據(jù)的一致性和完整性,需要的朋友可以參考下
    2023-10-10
  • Java Flink窗口觸發(fā)器Trigger的用法詳解

    Java Flink窗口觸發(fā)器Trigger的用法詳解

    Trigger(窗口觸發(fā)器)決定了窗口(由 WindowAssigner 產(chǎn)生)什么時候調(diào)用窗口處理函數(shù)。可以根據(jù)指定的時間或數(shù)據(jù)元素條件來決定什么時候觸發(fā)。本文將詳細講講其用法,需要的可以參考一下
    2022-07-07
  • 解決使用stream將list轉(zhuǎn)map時,key重復導致報錯的問題

    解決使用stream將list轉(zhuǎn)map時,key重復導致報錯的問題

    這篇文章主要介紹了解決使用stream將list轉(zhuǎn)map時,key重復導致報錯的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • SpringBoot JWT接口驗證實現(xiàn)流程詳細介紹

    SpringBoot JWT接口驗證實現(xiàn)流程詳細介紹

    這篇文章主要介紹了SpringBoot+JWT實現(xiàn)接口驗證,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-09-09
  • 深入理解Java中關鍵字final、finally、finalize的區(qū)別

    深入理解Java中關鍵字final、finally、finalize的區(qū)別

    final、finally、finalize?的區(qū)別?這三個?Java?關鍵字雖然拼寫相似,但功能完全不同,本文將從定義、使用場景、代碼示例、底層機制以及最佳實踐等多個維度,徹底講清這三者的差異,并附上流程圖和對比表格,助你一次搞懂
    2026-05-05
  • CentOS安裝solr 4.10.3詳細教程

    CentOS安裝solr 4.10.3詳細教程

    這篇文章主要為大家詳細介紹了CentOS安裝solr 4.10.3的詳細教程 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • SpringBoot中HTTP連接池的配置與優(yōu)化

    SpringBoot中HTTP連接池的配置與優(yōu)化

    這篇文章主要為大家詳細介紹了SpringBoot中HTTP連接池的配置與優(yōu)化的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-05-05
  • SpringBoot熱部署Springloaded實現(xiàn)過程解析

    SpringBoot熱部署Springloaded實現(xiàn)過程解析

    這篇文章主要介紹了SpringBoot熱部署Springloaded實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • MyBatis中使用$和#所遇到的問題及解決辦法

    MyBatis中使用$和#所遇到的問題及解決辦法

    這篇文章主要介紹了MyBatis中使用$和#所遇到的問題及解決辦法的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • Java項目啟動成功、失敗信息實時反饋提醒問題(郵件或者短信)

    Java項目啟動成功、失敗信息實時反饋提醒問題(郵件或者短信)

    這篇文章主要介紹了Java項目啟動成功、失敗信息實時反饋提醒問題(郵件或者短信),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

肥城市| 龙南县| 邯郸县| 原阳县| 资源县| 郧西县| 即墨市| 阜平县| 乐清市| 孙吴县| 陇川县| 仙居县| 子长县| 通山县| 定兴县| 石渠县| 寿宁县| 靖州| 岳阳市| 莆田市| 行唐县| 东光县| 枣阳市| 郧西县| 辛集市| 福清市| 若尔盖县| 昌邑市| 名山县| 佛学| 庄河市| 沂水县| 沙湾县| 郓城县| 南溪县| 甘洛县| 大关县| 都江堰市| 贵南县| 颍上县| 北票市|