摘要:依賴(lài)包方式方式時(shí)間處理獲取當(dāng)前時(shí)間獲取當(dāng)前時(shí)間默認(rèn)格式化指定格式化年月日指定格式化打印結(jié)果默認(rèn)格式化指定格式化年月日指定格式化年月日時(shí)分秒格式化如果輸入的是字符串則轉(zhuǎn)為日期類(lèi)型,反之則轉(zhuǎn)為字符串類(lèi)型。
依賴(lài)jar包 gradle方式
compile group:"com.gitee.zhtt",name:"great-javautils",version:"8.0.1-alpha.3"maven方式
1、時(shí)間處理(DateTimeUtils) 1.1、獲取當(dāng)前時(shí)間com.gitee.zhtt great-javautils 8.0.1-alpha.3
@Test public void getTime(){ //獲取當(dāng)前時(shí)間 Date date = DateTimeUtils.getTime(); System.out.printf("默認(rèn)格式化:%s ",DateTimeUtils.format(date)); System.out.printf("指定格式化:%s ",DateTimeUtils.format(date,"yyyy年MM月dd日")); System.out.printf("指定格式化:%s ",DateTimeUtils.format(date,DateTimeUtils.ymdhms_cn)); }
打印結(jié)果
默認(rèn)格式化:2019-07-08 15:39:10 指定格式化:2019年07月08日 指定格式化:2019年07月08日 15時(shí)39分10秒1.2、格式化
如果輸入的是字符串則轉(zhuǎn)為日期類(lèi)型,反之則轉(zhuǎn)為字符串類(lèi)型。
@Test public void format(){ //格式化 String dateStr = "2019-07-07"; Date date = new Date(); try { Object format1 = DateTimeUtils.format(dateStr); Object format2 = DateTimeUtils.format(date); Object format3 = DateTimeUtils.format(date,DateTimeUtils.ymdhm); System.out.println(format1); System.out.println(format2); System.out.println(format3); } catch (ParseException e) { e.printStackTrace(); } }
打印結(jié)果
Sun Jul 07 00:00:00 CST 2019 2019-07-08 15:52:41 2019-07-08 15:521.3、格式化
有時(shí)將excel中的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)時(shí),但是用戶(hù)提供的excel中的日期一列格式各種各樣
@Test public void format2() throws ParseException { //格式化 String[] dateStrs = {"2019", "2019-07", "2019-07-07", "2019-07-07 11", "2019-07-07 11:22", "2019-07-07 11:22:11", "2019年11月07日", "2019年11月07日 12時(shí)"}; for(String str:dateStrs){ Date date = DateTimeUtils.format(str); System.out.println(str+" => "+DateTimeUtils.format(date)); } }
打印結(jié)果
2019 => 2019-01-01 00:00:00 2019-07 => 2019-07-01 00:00:00 2019-07-07 => 2019-07-07 00:00:00 2019-07-07 11 => 2019-07-07 11:00:00 2019-07-07 11:22 => 2019-07-07 11:22:00 2019-07-07 11:22:11 => 2019-07-07 11:22:11 2019年11月07日 => 2019-11-07 00:00:00 2019年11月07日 12時(shí) => 2019-11-07 12:00:001.4、某天開(kāi)始時(shí)間:getDayStartTime(param)
未傳參數(shù)返回當(dāng)天開(kāi)始時(shí)間,傳入正數(shù)返回當(dāng)天之后第N天的開(kāi)始時(shí)間,傳入負(fù)數(shù)返回當(dāng)天之前第N天的開(kāi)始時(shí)間。
@Test public void getDayStartTime() throws ParseException { //當(dāng)天開(kāi)始時(shí)間 Date start1 = DateTimeUtils.getDayStartTime(); String start1Str = DateTimeUtils.format(start1); //某天開(kāi)始時(shí)間 Date start2 = DateTimeUtils.format("2019-07-07 12:22:22"); Date start2date = DateTimeUtils.getDayStartTime(start2); String start2Str = DateTimeUtils.format(start2date); //30天后的開(kāi)始時(shí)間 Date start3 = DateTimeUtils.getDayStartTime(30); String start3Str = DateTimeUtils.format(start3); //30天前的開(kāi)始時(shí)間 Date start4 = DateTimeUtils.getDayStartTime(-30); String start4Str = DateTimeUtils.format(start4); System.out.println("當(dāng)天開(kāi)始時(shí)間:"+start1Str); System.out.println("某天開(kāi)始時(shí)間:"+start2Str); System.out.println("30天后的開(kāi)始時(shí)間:"+start3Str); System.out.println("30天前的開(kāi)始時(shí)間:"+start4Str); }
打印結(jié)果
當(dāng)天開(kāi)始時(shí)間:2019-07-08 00:00:00 某天開(kāi)始時(shí)間:2019-07-07 00:00:00 30天后的開(kāi)始時(shí)間:2019-08-07 00:00:00 30天前的開(kāi)始時(shí)間:2019-06-08 00:00:001.5、某周開(kāi)始時(shí)間:getWeekStartTime(param)
未傳參數(shù)返回本周開(kāi)始時(shí)間,傳入正數(shù)返回本周之后第N周的開(kāi)始時(shí)間,傳入負(fù)數(shù)返回本周之前第N周的開(kāi)始時(shí)間。
@Test public void getWeekStartTime(){ //本周開(kāi)始時(shí)間 Date start1 = DateTimeUtils.getWeekStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本周開(kāi)始時(shí)間:"+start1Str); //上周的開(kāi)始時(shí)間 Date start3 = DateTimeUtils.getWeekStartTime(1); String start3Str = DateTimeUtils.format(start3); System.out.println("上周的開(kāi)始時(shí)間:"+start3Str); //下周的開(kāi)始時(shí)間 Date start4 = DateTimeUtils.getWeekStartTime(-1); String start4Str = DateTimeUtils.format(start4); System.out.println("下周的開(kāi)始時(shí)間:"+start4Str); }
打印結(jié)果
本周開(kāi)始時(shí)間:2019-07-08 00:00:00 上周的開(kāi)始時(shí)間:2019-07-01 00:00:00 下周的開(kāi)始時(shí)間:2019-07-15 00:00:001.6、某月開(kāi)始時(shí)間:getMonthStartTime(param)
未傳參數(shù)返回本月開(kāi)始時(shí)間,傳入正數(shù)返回本月之后第N月的開(kāi)始時(shí)間,傳入負(fù)數(shù)返回本月之前第N月的開(kāi)始時(shí)間。
@Test public void getMonthStartTime(){ //本月開(kāi)始時(shí)間 Date start1 = DateTimeUtils.getMonthStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本月開(kāi)始時(shí)間:"+start1Str); //上月的開(kāi)始時(shí)間 Date start3 = DateTimeUtils.getMonthStartTime(1); String start3Str = DateTimeUtils.format(start3); System.out.println("上月的開(kāi)始時(shí)間:"+start3Str); //下月的開(kāi)始時(shí)間 Date start4 = DateTimeUtils.getMonthStartTime(-1); String start4Str = DateTimeUtils.format(start4); System.out.println("下月的開(kāi)始時(shí)間:"+start4Str); }
打印結(jié)果
本月開(kāi)始時(shí)間:2019-07-01 00:00:00 上月的開(kāi)始時(shí)間:2019-08-01 00:00:00 下月的開(kāi)始時(shí)間:2019-06-01 00:00:001.7、某季度開(kāi)始時(shí)間:getMonthStartTime(param)
未傳參數(shù)返回本季度開(kāi)始時(shí)間,傳入正數(shù)返回本季度之后第N季度的開(kāi)始時(shí)間,傳入負(fù)數(shù)返回本季度之前第N季度的開(kāi)始時(shí)間。
@Test public void getQuarterStartTime(){ //本季度開(kāi)始時(shí)間 Date start1 = DateTimeUtils.getQuarterStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本季度開(kāi)始時(shí)間:"+start1Str); //上季度的開(kāi)始時(shí)間 Date start3 = DateTimeUtils.getQuarterStartTime(-1); String start3Str = DateTimeUtils.format(start3); System.out.println("上季度的開(kāi)始時(shí)間:"+start3Str); //下季度的開(kāi)始時(shí)間 Date start4 = DateTimeUtils.getQuarterStartTime(1); String start4Str = DateTimeUtils.format(start4); System.out.println("下季度的開(kāi)始時(shí)間:"+start4Str); }
打印結(jié)果
本季度開(kāi)始時(shí)間:2019-07-01 00:00:00 上季度的開(kāi)始時(shí)間:2019-04-01 00:00:00 下季度的開(kāi)始時(shí)間:2019-10-01 00:00:001.7、某季度開(kāi)始時(shí)間:getMonthStartTime(param)
未傳參數(shù)返回本季度開(kāi)始時(shí)間,傳入正數(shù)返回本季度之后第N季度的開(kāi)始時(shí)間,傳入負(fù)數(shù)返回本季度之前第N季度的開(kāi)始時(shí)間。
@Test public void getQuarterStartTime(){ //本季度開(kāi)始時(shí)間 Date start1 = DateTimeUtils.getQuarterStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本季度開(kāi)始時(shí)間:"+start1Str); //上季度的開(kāi)始時(shí)間 Date start3 = DateTimeUtils.getQuarterStartTime(-1); String start3Str = DateTimeUtils.format(start3); System.out.println("上季度的開(kāi)始時(shí)間:"+start3Str); //下季度的開(kāi)始時(shí)間 Date start4 = DateTimeUtils.getQuarterStartTime(1); String start4Str = DateTimeUtils.format(start4); System.out.println("下季度的開(kāi)始時(shí)間:"+start4Str); }
打印結(jié)果
本季度開(kāi)始時(shí)間:2019-07-01 00:00:00 上季度的開(kāi)始時(shí)間:2019-04-01 00:00:00 下季度的開(kāi)始時(shí)間:2019-10-01 00:00:001.8、某年開(kāi)始時(shí)間:getYearStartTime(param)
未傳參數(shù)返回本年開(kāi)始時(shí)間,傳入正數(shù)返回本年之后第N年的開(kāi)始時(shí)間,傳入負(fù)數(shù)返回本年之前第N年的開(kāi)始時(shí)間。
@Test public void getYearStartTime(){ //本季度開(kāi)始時(shí)間 Date start1 = DateTimeUtils.getYearStartTime(); String start1Str = DateTimeUtils.format(start1); System.out.println("本年開(kāi)始時(shí)間:"+start1Str); //上季度的開(kāi)始時(shí)間 Date start3 = DateTimeUtils.getYearStartTime(-1); String start3Str = DateTimeUtils.format(start3); System.out.println("上年的開(kāi)始時(shí)間:"+start3Str); //下季度的開(kāi)始時(shí)間 Date start4 = DateTimeUtils.getYearStartTime(1); String start4Str = DateTimeUtils.format(start4); System.out.println("下年的開(kāi)始時(shí)間:"+start4Str); }
打印結(jié)果
本年開(kāi)始時(shí)間:2019-01-01 00:00:00 上年的開(kāi)始時(shí)間:2018-01-01 00:00:00 下年的開(kāi)始時(shí)間:2020-01-01 00:00:00
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/75234.html
摘要:獲得某月的天數(shù)獲得本季度的開(kāi)始月份獲得今天之前的日期獲得今天之后的日期獲得本周的開(kāi)始日期獲得本周的結(jié)束日期獲得上周的開(kāi)始日期獲得上周的結(jié)束日期獲得本月的開(kāi)始日期獲得本月的結(jié)束日期獲得本季度的開(kāi)始日期獲得本季度的結(jié)束日期 最近項(xiàng)目中遇到一個(gè)問(wèn)題, 提交后的時(shí)間后臺(tái)會(huì)返回2018-01-05T17:32:03這樣的一個(gè)時(shí)間格式, 在展示的是則只需要展示2018-01-05. 這種需求應(yīng)該有...
摘要:介紹是對(duì)模塊的二次擴(kuò)展提供時(shí)間格式化,時(shí)間計(jì)算的功能官方主頁(yè)為地址為文件結(jié)構(gòu)目錄描述源文件源文件類(lèi)的二次擴(kuò)展類(lèi)主要用于時(shí)差計(jì)算類(lèi)的二次擴(kuò)展類(lèi)提供時(shí)間計(jì)算,格式化輸出的功能自定義異常文件夾語(yǔ)言本地化文件夾類(lèi)的方法會(huì)用到 介紹 Carbon是對(duì)PHP DateTime模塊的二次擴(kuò)展;提供時(shí)間格式化,時(shí)間計(jì)算的功能; 官方主頁(yè)為 http://carbon.nesbot.com/; Git...
摘要:在里面全局使用引入使用中文時(shí)間其他地方調(diào)用的方法獲取當(dāng)前時(shí)間返回當(dāng)前時(shí)間時(shí)間對(duì)象返回當(dāng)前時(shí)間毫秒數(shù)返回結(jié)果格式化當(dāng)前時(shí)間格式化時(shí)間戳以秒為單位格式化時(shí)間戳以毫秒為單位原生對(duì)象同對(duì)象相互轉(zhuǎn)換轉(zhuǎn)換為對(duì)象轉(zhuǎn)換為對(duì)象當(dāng)前時(shí)間取值操 # moment.js ## 在vue里面全局使用 main.js // 引入moment import moment from moment import mom...
摘要:用了一段時(shí)間的開(kāi)發(fā)項(xiàng)目,也是第一次用來(lái)開(kāi)發(fā)項(xiàng)目,所有有許多相關(guān)的知識(shí)點(diǎn)需要總結(jié),本文所介紹的的日期時(shí)間處理就是最近用到的,希望對(duì)各位有所幫助,也同時(shí)作為自己的筆記儲(chǔ)存。提供了等模塊用于處理日期和時(shí)間,較為常用的還是模塊。 用了一段時(shí)間的django開(kāi)發(fā)web項(xiàng)目,也是第一次用python來(lái)開(kāi)發(fā)項(xiàng)目,所有有許多相關(guān)的知識(shí)點(diǎn)需要總結(jié),本文所介紹的python的日期時(shí)間處理就是最近用到的,希...
摘要:應(yīng)用場(chǎng)景按今天昨天上周本周本月統(tǒng)計(jì)某個(gè)人發(fā)布文章數(shù)量原理分析假設(shè)文章表里有一個(gè)字段存儲(chǔ)創(chuàng)建文章時(shí)間戳,比如說(shuō)今天那么查詢(xún)條件為實(shí)現(xiàn)方案根據(jù)以上分析,需要知道今日開(kāi)始時(shí)間戳和結(jié)束時(shí)間戳那么昨天上周本周也類(lèi)似。 應(yīng)用場(chǎng)景 按今天、昨天、上周、本周、本月 統(tǒng)計(jì)某個(gè)人發(fā)布文章數(shù)量 原理分析 假設(shè) 文章表里 有一個(gè)字段存儲(chǔ) 創(chuàng)建文章時(shí)間戳(cdate),比如說(shuō) 今天(2016-11-8) 那么查...
閱讀 2541·2021-09-27 13:36
閱讀 2196·2019-08-29 18:47
閱讀 2165·2019-08-29 15:21
閱讀 1427·2019-08-29 11:14
閱讀 2014·2019-08-28 18:29
閱讀 1653·2019-08-28 18:04
閱讀 600·2019-08-26 13:58
閱讀 3242·2019-08-26 12:12