2023-09-07工作心得:String 和 LocalDate 的比较

news2024/12/24 8:48:59

1、SQL查询时间

如果根据某个日期区间检索:

假设有张t_order表,其中有个字段 create_time 在数据库里的格式是”yyyy-MM-dd HH:mm:ss“

如果我在前端,选择2023-09-06-2023-09-07,这个区间,其实我期待的是查出这两天的数据,但是 create_time >= '2023-09-06'  and create_time<= '2023-09-07' 这样是只能查出:

2023-09-06 00:00:00 - 2023-09-07 00:00:00 这个区间,也就是说2023-09-07这天的查不到。

如果t_order表,有个字段叫 `date`, 在数据库里的格式是”yyyy-MM-dd“

如果我在前端,选择2023-09-06-2023-09-07,这个区间,如果后端是根据date字段查询,

`date` >= '2023-09-06'  and `date`<= '2023-09-07'

那么它查出的数据,是既包含2023-09-06,也包含2023-09-07的。

2、空指针问题

在做报表的时候

list的操作:stream流

计算:属性的运算(需要先判空),以及除数为0问题,合计问题(stream流解决)

map的操作:containsKey等操作,均需要map不能为null

3、String 和 LocalDate 的比较

二者比较,需要做转化,要不localdate转string,要不string转localdate

如果是string转localdate,

String time = "2023-09-07";

LocalDate localDate1 = LocalDate.parse(time);

LocalDate localDate2 = LocalDate.of(2023,9,7);

Boolean isSameDay  = localDate1.isEqual(localDate2);

如果是localdate转string

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

String formatTime=  localDate2.format(dateTimeFormatter);

Boolean isSameDay  = formatTime.equals(time);

4、BigDecimal计算 要四舍五入

不然遇到除不尽的小数,会报错:

java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 

四舍五入的方法:

BigDecimal bigDecimal = new BigDecimal("2"); 
BigDecimal bigDecimal2 = new BigDecimal("3"); 
BigDecimal divide = bigDecimal.divide(bigDecimal2,new MathContext(2, RoundingMode.HALF_UP));

5、&&和&的区别,以及|| 和| 的区别

1.&&是“短路与”

如果左边的为false,就不会往右边计算,直接返回false。相当于只要某个地方是false,就不再往后计算了,直接返回false。

&则不管你每个结果如何,都会全部计算完。

2.||是“短路或”

如果左边的为true,就不会往右边计算,直接返回true。相当于只要某个地方是true,就不再往后计算了,直接返回true。

|则不管你每个结果如何,都会全部计算完。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/985389.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pip cryptography 遇到的 OpenSSL 问题

pip install -r requirements.txt 遇到 bug Collecting cryptography2.7Downloading cryptography-2.7.tar.gz (495 kB)------------------------------------- 495.9/495.9 kB 15.7 MB/s eta 0:00:00Installing build dependencies: startedInstalling build dependencies:…

CVE-2017-12615 PUT方法漏洞复现

这里的端口出现占用问题&#xff0c;需要修改端口 使用nuclei工具 找到[CVE-2017-12615] [http] [high] http://192.168.142.151/poc.jsp?cmdcat%2Fetc%2Fpasswd 浏览器访问&#xff0c;获得/etc/passwd信息

lv3 嵌入式开发-5 linux shell命令(进程管理、用户管理)

目录 1 进程处理相关命令 1.1 进程的概念 1.2 查看进程的命令 1.3 发送信号命令 2 用户管理相关命令 2.1 用户管理相关文件介绍 2.2 用户管理相关命令介绍 1 进程处理相关命令 1.1 进程的概念 进程的概念主要有两点&#xff1a; 进程是一个实体。每一个进程都有它自己…

曾国藩农民出身,弯道超车实现逆袭的大智慧

曾国藩从小就笨笨的&#xff0c;读书多了才开窍&#xff0c;实现人生逆袭。农民出身&#xff0c;弯道超车&#xff0c;贵在坚持。 约翰生说过&#xff1a;“成大事不在于力量的大小&#xff0c;而在于能坚持多久。” 很多家长认为“不让孩子输在起跑线上”&#xff0c;这是错…

c++ day 2

1、封装一个结构体&#xff0c;结构体中包含一个私有数组&#xff0c;用来存放学生的成绩&#xff0c;包含一个私有变量&#xff0c;用来记录学生个数&#xff0c; 提供一个公有成员函数&#xff0c;void setNum(int num)用于设置学生个数 提供一个公有成员函数&#xff1a;v…

【送书活动】网络安全(黑客)自学

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

Unity 之利用Audio Source(音频源)组件用于播放声音

文章目录 Unity中的Audio Source&#xff08;音频源&#xff09;是一个用于播放声音的组件&#xff0c;通常附加到游戏对象上&#xff0c;以便在游戏中播放音频效果、音乐或对话。以下是Audio Source的详细介绍&#xff1a; 添加Audio Source&#xff1a; 要在Unity中使用Audio…

Apache Tomcat漏洞复现

文章目录 弱口令启动环境漏洞复现 本地文件包含启动环境漏洞复现 弱口令 启动环境 来到vulhub/tomcat/tomcat8/靶场 cd vulhub/tomcat/tomcat8/安装环境并启动&#xff1a; sudo docker-compose up -d && sudo docker-compose up -d修改端口后启动&#xff1a; su…

AWR仿真报错invalid noise data found

在AWR microwave office 使用外部导入的s参数时遇到报错&#xff1a;“ invalid noise data found”&#xff0c;如下图所示&#xff0c;然而导入的s参数中&#xff0c;并没有噪声参数。 分析了好一阵&#xff0c;发现是sp文件中出现了频率不单调的数据&#xff0c;如下图所示…

荣耀9x使用体验

第一次使用鸿蒙系统&#xff0c;感觉还行&#xff0c;虽然各种操作和手势不太习惯&#xff0c;但是不影响什么&#xff0c;这是已经发布了4年的手机&#xff0c;用起来没什么毛病&#xff0c;各方面比较均衡。 2年前买的&#xff0c;原价1500块&#xff0c;现在&#xff08;20…

不用额外插件?RunnerGo内置压测模式怎么选

我们在做性能测试时需要根据性能需求配置不同的压测模式如&#xff1a;阶梯模式。使用jmeter时我们需要安装插件来配置测试模式&#xff0c;为了方便用户使用&#xff0c;RunnerGo内嵌了压测模式这一选项&#xff0c;今天给大家介绍一下RunnerGo的几种压测模式和怎么根据性能需…

Python Opencv实践 - Harris角点检测

参考资料&#xff1a;https://blog.csdn.net/wsp_1138886114/article/details/90415190 import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/chinease_tower.jpg", cv.IMREAD_COLOR) plt.imshow(img[:,:,::-1])#…

l8-d8 TCP并发实现

一、TCP多进程并发 1.地址快速重用 先退出服务端&#xff0c;后退出客户端&#xff0c;则服务端会出现以下错误&#xff1a; 地址仍在使用中 解决方法&#xff1a; /*地址快速重用*/ int flag1,len sizeof (int); if ( setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &a…

Java高并发(线程创建以及线程池,异步调用,CompletableFuture)

线程 是进程中的一个实体&#xff0c;线程本身是不会独立存在的。 进程是代码在数据集合上的一次运行活动 是系统进行资源分配调度的基本单位 。 线程则是进程的一个执行路径&#xff0c; 一个进程中至少有 线程&#xff0c;进程中多个线程共享进程的资源。 操作系统在分配资源…

工单提交管理H5小程序开发

工单提交管理H5小程序开发 工单系统&#xff0c;支持多工程师分配、知识库、工单评价、自定义字段、工单通知&#xff08;短信&邮件&#xff09;、自定义产品或服务等功能。提供全部无加密服务端源码和前端源代码&#xff0c;独立部署&#xff0c;不受限制。 功能&#…

【C++】类的封装 ② ( 封装最基本的表层概念 | 类对象作为参数传递的几种情况 )

文章目录 一、类的封装 : 将数据和方法封装到一个类中1、封装最基本的表层概念2、代码分析 - 基本封装3、代码分析 - 类对象作为参数传递的几种情况 ( 指针 / 引用 / 直接 )4、完整代码示例 一、类的封装 : 将数据和方法封装到一个类中 1、封装最基本的表层概念 将数据和方法封…

concrt140.dll怎么下载,concrt140.dll修复工具(修复精灵下载)一键修复问题

今天&#xff0c;我将为大家介绍一个非常常见的问题&#xff1a;由于找不到concrt140.dll,无法继续执行代码怎么办。这个问题可能会让很多网友感到头疼&#xff0c;但是别担心&#xff0c;我会为大家提供5种最全详细的恢复方法。在接下来我将详细介绍这些问题及其解决方法。希望…

索尼 toio™ 应用创意开发征文互动小企鹅

文章目录 背景介绍产品应用动手实践环境安装工具安装更新 setuptools 到最新版本安装 toio.py安装 bleak安装 ipykernel检查是否安装成功 定义电子小企鹅的功能和逻辑小企鹅移动小企鹅脸变色小企鹅尖叫综合实现 总结 背景介绍 索尼推出的toio™ 是一款创新的游戏玩具&#xff…

改进深度学习网络的几个思路

由于要优化网络&#xff0c;老师给提供的几个思路&#xff1a; 个人学习后的几个认知&#xff1a; 1.联级特征融合模块 主要用于残差网络最后的残差块融合上 其中 R5 是经过 Res5 通过 33 的卷积获得的特征图&#xff0c;该特征图保持空间分辨率不变&#xff0c;并将通道的数…

dnmp运行时404报错

dnmp运行时404报错 问题截图&#xff1a; dnmp简介 M1芯片&#xff08;Arm CPU&#xff09; 环境中搭建PHPNGINXMYSQL的利器&#xff0c;docker容器管理当前使用的软件&#xff0c;可以简单安装软件和扩展。 localhost.conf 原始文件如下&#xff1a; server {listen 8…