真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

時(shí)間段查詢將00:00:00更換成23:59:59-創(chuàng)新互聯(lián)

目錄

成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司,塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。

一.問(wèn)題描述

二.解決問(wèn)題

2.1.思路一(時(shí)間戳賦值)

2.2思路二(LocalDateTime 方法賦值)

三.總結(jié)


一.問(wèn)題描述

在我們作web項(xiàng)目的時(shí)候總會(huì)有時(shí)間段的查詢條件

例如:

問(wèn)題:

前端傳到后臺(tái)的時(shí)間:?reportStartTime: 2023-01-01 00:00:00

?reportEndTime:? 2023-01-13 00:00:00

在這種時(shí)間段查詢是前端用時(shí)間組件寫(xiě)出來(lái)的,但是列表的上報(bào)時(shí)間是從數(shù)據(jù)庫(kù)中讀出來(lái)的, 但是數(shù)據(jù)庫(kù)中的上報(bào)時(shí)間是

如果用sql查詢的話 2023-01-13 10:49:23 這個(gè)時(shí)間是查不到的

但是我們頁(yè)面中的上報(bào)時(shí)間是date類型的

如圖:

所以就是時(shí)間組件的最火傳過(guò)來(lái)的時(shí)間都能看到

如圖:

二.解決問(wèn)題 2.1.思路一(時(shí)間戳賦值)

在出現(xiàn)這個(gè)問(wèn)題后, 我曾經(jīng)想過(guò), 將reportEndTime 用時(shí)間戳的方式給reportEndTime 重新賦值

Long endtime = reportEndTime.getTime();
//加一天減一秒
Long endTime+(1000*60*60*24-1000)
//時(shí)間戳轉(zhuǎn)dateTime
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
沒(méi)有中間new Long(timeStamp),因?yàn)樗麄兌际蔷_到毫秒的時(shí)間戳,不用再乘以1000進(jìn)行轉(zhuǎn)換 long longTimeStamp = new Long(new Long(timeStamp) * 1000); Date date = new Date(longTimeStamp); String dareString = simpleDateFormat.format(date); return dareString;
2.2思路二(LocalDateTime 方法賦值)

LocalDateTime簡(jiǎn)介:

1. java.util.Date是用于表示一個(gè)日期和時(shí)間的對(duì)象(注意與java.sql.Date區(qū)分,后者用在數(shù)據(jù)庫(kù)中沒(méi)有格式化的Date),它打印出的日期可讀性差,可以使用SimpleDateFormat對(duì)時(shí)間進(jìn)行格式化,但SimpleDateFormat又是線程不安全,包括format和parse方法,而在時(shí)間的計(jì)算方面不是很方便。
2. java.util.Canlendar 可以用于獲取并設(shè)置年、月、日、時(shí)、分、秒,它和Date比,主要多了一個(gè)可以做簡(jiǎn)單的日期和時(shí)間運(yùn)算的功能,Canlendar 變量是全局變量,會(huì)導(dǎo)致臟變量情況產(chǎn)生,并且這個(gè)共享變量沒(méi)有做線程安全控制,也就是多線程的情況下是線程不安全的。
3. Java8出的新的時(shí)間日期API都是線程安全的比如LocalDate、LocalTime、LocalDateTime這三個(gè)類,計(jì)算功能強(qiáng)大,并且性能更好,代碼更簡(jiǎn)潔。

看小demo: 這里用到了plusDay(1) 加一天? minusSeconds(1) 減一秒 具體LocalDateTime方法和講解看文章:LocalDateTime用法_localdatetime默認(rèn)加三個(gè)月_遨游在知識(shí)的海洋里無(wú)法自拔的博客-博客

import java.text.ParseException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTest {
    public static void main(String[] args) throws ParseException {
        //具有轉(zhuǎn)換功能的對(duì)象
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //設(shè)置參數(shù)
        String startTime = "2023-01-01 00:00:00";
        String endTime = "2023-01-13 00:00:00";

//        //String轉(zhuǎn)DateTime
//        Date starDate=new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(startTime);
//        Date endDate=new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(endTime);

//        LocalDateTime startDate = LocalDateTime.parse(startTime,df);
        LocalDateTime endDate = LocalDateTime.parse(endTime,df);
        //將 endTime 加一天再減一秒
        LocalDateTime localDateTime = endDate.plusDays(1);
        //減一秒
        LocalDateTime endDateTime = localDateTime.minusSeconds(1);
        System.out.println(startTime);
        System.out.println(endDateTime);


    }
}
三.總結(jié)

1.LocalDateTime 是一個(gè)處理時(shí)間問(wèn)題很靈活的api 有興趣的話和我一樣的初學(xué)者可以了解學(xué)習(xí)一下

2.除這兩種方法還有其他的方法嗎, 例如hutool處理時(shí)間的api??DateUtil 處理時(shí)間的工具類, 如果有其他更好的方法請(qǐng)?jiān)谠u(píng)論區(qū)分享鏈接, 一起討論

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站標(biāo)題:時(shí)間段查詢將00:00:00更換成23:59:59-創(chuàng)新互聯(lián)
本文鏈接:http://weahome.cn/article/djeijj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部