java 日期操作工具類_java8操作日期的工具類

java8操作日期的工具類

一、方法概覽

該包的API提供了大量相關的方法,這些方法一般有一致的方法前綴:

of:靜態工廠方法。

parse:靜態工廠方法,關注于解析。

get:獲取某些東西的值。

is:檢查某些東西的是否是true。

with:不可變的setter等價物。

plus:加一些量到某個對象。

minus:從某個對象減去一些量。

to:轉換到另一個類型。

at:把這個對象與另一個對象組合起來,例如: date.atTime(time)。

二、方法使用

package com.wuxin.utils;

import java.time.LocalDate;

import java.time.LocalDateTime;

import java.time.LocalTime;

import java.time.Period;

import java.time.ZoneOffset;

import java.time.format.DateTimeFormatter;

import java.time.temporal.IsoFields;

import java.util.Date;

/**

* jdk8的時間工具類

* @author wuxin

*

*/

public class Java8DateUtil {

private static final DateTimeFormatter DATE_PATTERN = DateTimeFormatter.ofPattern("yyyy-MM-dd");

private static final DateTimeFormatter TIME_PATTERN = DateTimeFormatter.ofPattern("HH:mm:ss");

private static final DateTimeFormatter DATE_TIME_PATTERN = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

/**

* 將date類型轉換成LocalDateTime

* @param date

* @return

*/

public static LocalDateTime dateConvertToLocalDateTime(Date date) {

return date.toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();

}

/**

* 將localDateTime類型轉換成date類型

* @param localDateTime

* @return

*/

public static Date localDateTimeConvertToDate(LocalDateTime localDateTime) {

return Date.from(localDateTime.toInstant(ZoneOffset.of("+8")));

}

/**

* 獲取當前時間的秒值

* @return

*/

public static long getSecond() {

return LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));

}

/**

* 獲取當前時間的毫秒值

* @return

*/

public static long getMilliSecond() {

return LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();

}

/**

* 獲取兩個時間的Period(改參數可以取出相差的年月日)

* @param year

* @param month

* @param day

* @return

*/

public static Period getPeriodBetweenTwoDate(int startYear,int startMonth,int startDay) {

LocalDate start = LocalDate.of(startYear, startMonth , startDay);

LocalDate end = LocalDate.now();

Period between = Period.between(start, end);

return between;

}

/**

* 解析yyyy-MM-dd格式的字符串,不含時分秒

* @param date

* @return

*/

public static LocalDate parseDate(String date) {

return LocalDate.parse(date, DATE_PATTERN);

}

/**

* 轉換成yyyy-MM-dd格式的字符串

* @param date

* @return

*/

public static String formatDate(LocalDate date) {

return date.format(DATE_PATTERN);

}

/**

* 解析HH:mm:ss格式的字符串,不含年月日

* @param time

* @return

*/

public static LocalTime parseTime(String time) {

return LocalTime.parse(time, TIME_PATTERN);

}

/**

* 轉換成HH:mm:ss格式的字符串

* @param time

* @return

*/

public static String formatDate(LocalTime time) {

return time.format(TIME_PATTERN);

}

/**

* 解析yyyy-MM-dd HH:mm:ss格式的字符串

* @param dateTime

* @return

*/

public static LocalDateTime parseDateTime(String dateTime) {

return LocalDateTime.parse(dateTime, DATE_TIME_PATTERN);

}

/**

* 轉換成yyyy-MM-dd HH:mm:ss格式的字符串

* @param dateTime

* @return

*/

public static String formatDate(LocalDateTime dateTime) {

return dateTime.format(DATE_TIME_PATTERN);

}

/**

* 獲取時間在第幾周

* @param dateTime

* @return

*/

public static int getWeekOfYear(LocalDateTime dateTime) {

return dateTime.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR);

}

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530550.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530550.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530550.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql攔截器實現crud_Mybatis自定義SQL攔截器

本博客介紹的是繼承Mybatis提供的Interface接口,自定義攔截器,然后將項目中的sql攔截一下,打印到控制臺。先自定義一個攔截器package com.muses.taoshop.common.core.database.config;import org.apache.commons.lang3.StringUtils;import or…

python 桌面提醒_使用Python獲取桌面通知

開發一款可提醒您諸如警報或待辦事項清單等計劃的應用程序真是太好了。在本文中,我將引導您逐步編寫如何使用Python獲取桌面通知的程序。桌面通知應用程序如何工作?您今天將要學習開發的桌面通知應用程序的主要目的是不斷提醒我們我們一天中需要完成的不…

java線程同步的實現_【Java多線程系列三】實現線程同步的方法

packagecom.concurrent.test;importjava.util.Stack;importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.BlockingQueue;importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.ReentrantLock;/*** Description: 三種方法實現…

python建立py文件夾過程_Pycharm創建python文件自動添加日期作者等信息(步驟詳解)...

百度AI接口的調用方法不必多介紹。官網地址 人流量統計新建AipBodyAnalysisfrom aip import AipBodyAnalysis""" 你的 APPID AK SK """APP_ID 你的 App IDAPI_KEY 你2021-02-03 14:24:01本文主要介紹了在python3.9下如何安裝scrapy的方法&…

python父親節祝福_父親節祝福語精選簡短 父親節祝福語簡短獨特

1.您的堅忍不拔和錚錚硬骨是我的榜樣,我從您那兒汲取到奮發的力量,走過挫折,邁向成功,爸爸,您是我永遠的榜樣,我愛您!祝您節日快樂!2.您的懷抱,是我的小天地;…

redis java應用_redis在JAVA的簡單應用

reids是一個高性能的key-value數據庫。它存儲的value支持各種類型的數據,如String,List,set,hash類型。在此基礎上,各種不同方式的排序。本文不具體爭對redis數據庫的各種命令,而是在Java實現簡單的調用。1. //初始化R…

java安裝 hello_安裝JAVA步驟,并編寫HELLOWORLD程序

安裝Java步驟,并編寫helloworld程序1.安裝JDK(Java Development Kit)JDK是Java開發工具包(Java Development Kit)的縮寫。它是一種用于構建在J Java 平臺上發布的應用程序、applet和組件的開發環境。即編寫Java程序必須有JDK,它提供了編譯Java和運行Java…

java實現Fmeasure計算_聚類結果的評估指標及其JAVA實現

一. 前言又GET了一項技能。在做聚類算法的時候,由于要評估所提出的聚類算法的好壞,于是需要與一些已知的算法對比,或者用一些人工標注的標簽來比較,于是用到了聚類結果的評估指標。我了解了以下幾項。TP:是指被聚在一類的兩個量被…

java隨機產生坐標點_剛學JAVA不久,問一下怎么把這個程序實現隨機啊,不是按照坐標...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓int i;int z0;int j,h0,k0;int AppletWidch,AppletHeight,currentImage;Image Animation[],SerialImage,OffScreen;Thread newThread;Graphics drawOffScreen;MediaTracker MT;ImageProducer Source;CropImageFilter CutImage;publ…

ubuntu安裝java的rpm_ubuntu安裝jdk-6u45-linux-x64-rpm.bin

1、參考網址:ZC: 網頁內容保存于 “百度云 CodeSkill33 --> 全部文件 >來自網頁 > Linux > ubuntu > ubuntu安裝jdk-6u45-linux-x64-rpm.bin__Work_20160115_0851.rar”2、(1)、我是將jdk-6u45-linux-x64.bin放在 "/home"下的(2)、命令&qu…

java窗體容器坐標_Java的屏幕坐標是以像素為單位的,容器的左下角被確定為坐標的起點。...

屏單位的的左定為的起點Despite ________ difficulties, they did not find the life in London unpleasant.幕坐As soon as I was ____________, I began to have second thoughts about leaving.標被確The girl was uncertain what to do, or what tone of voice to_________…

mysql 相同字段相減_mysql datetime 類型字段相減

背景:今天測試一個mariadb中datatime類型的字段相減問題,直接用2個字段相減得到的數值并不是秒,很坑。后面百度了一些方法,說是使用 DateDiff 函數,這個函數文檔還說有3個參數,但是3個參數運行是報錯的。要…

java類 連接時機_java類的加載時機

類加載它直接表現出來的代碼應該是 ClassLoader.getSystemClassLoader().loadClass("com.my.test.AbcClass")。所以具 體完成類的加載工作的,是常被提到的類加載器ClassLoader,它就是專門干這件事的。“類的加載”具體而言就是指將類.class文件…

Java最短路徑類型_JAVA 最短路徑

1.從景石出發,步行游覽以下景點:①游客服務中心,②陽光草坪,③森林小劇場,④兒童科普體驗區,⑤兒童戲水場,⑥濕地博物館,⑦濕地商業街。建立數學模型,找出從景石出發,到達…

java 外螺旋矩陣_螺旋矩陣的java實現

今天參加了騰訊實習生的在線筆試,螺旋矩陣的問題,算是ACM的入門題吧想到了有兩種實現遞歸和非遞歸輸入:3輸出:1 2 3 8 9 4 7 6 5輸入:5輸出:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 8…

1445.32php,nginx實現mysql的負載均衡

1.下載module模塊$ tar -xzvf nginx-1.2.1.tar.gz$ cd nginx-1.2.1/$ patch -p1 < /path/to/nginx_tcp_proxy_module/tcp.patch /path是指nginx_tcp_proxy_module路徑$ ./configure --add-module/usr/local/ngx_cache_purge-1.4--prefix/usr/local/nginx --with-http_stub…

php date 有warning,php提示PHP Warning: date(): It is not safe to rely on the......錯誤的解決辦法...

在寫php程序中有時會出現這樣的警告&#xff1a;PHP Warning: date(): It is not safe to rely on the systems timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those method…

php不用于輸出的函數,PHP常用函數和常見疑難問題解答

首先介紹下比較簡單但必不可少且實用的知識&#xff0c;可以當手冊查詢&#xff0c;適合像我一樣的新手看。PHP常用庫函數介紹一、PHP字符串操作常用函數1.確定字符串長度int strlen(string str)2.比較兩個字符串a. strcmp函數對兩個字符串進行二進制安全的比較&#xff0c;并區…

php指定字符編碼,PHP字符編碼問題

絕對一勞永逸,確保您再也不會遇到編碼問題&#xff1a;在任何地方使用UTF-8&#xff01;那是(如果你使用mysql和php)&#xff1a;>例如,將數據庫中的所有表格設置為整理“utf8_general_ci”.>建立數據庫連接后,運行以下SQL查詢&#xff1a;“SET NAMES’utf8’”>始終…

php 開啟,PHP服務的開啟詳細步驟

安裝完php,使用chkconfig命令來查看php-fpm服務是否開啟&#xff0c;如果沒有開啟1. 在/etc/init.d/目錄下創建腳本php-fpmvim/etc/init.d/php-fpm2. 編寫腳本內容(將一下復制進去相應改動安裝路徑)#!/bin/sh## php-fpm - this script starts and stops the php-fpm daemin## c…