当前位置: 首页 > news >正文

Mysql数据库的时间(4)一查询数据库时间注意点

一.select根据时间段查询

1.原始的sql根据时间段查询

select * from stu where time between "1998-09-01" and "1999-09-01";
//查询从1998-09-01到1999-09-01时间段的数据
等同于select * from stu where time >="1998-09-01" and time <="1999-09-01";

2.用XML写sql根据时间段查询

用date_format函数.

date_format(time,'%Y-%m-%d')定义时间格式把2022-02-28  18:55:02改为2022-01-28

select * from utime where create_time &lt; date_format(#{time},'%Y-%m-%d');

二.select查询时间字段

 1.在sql语句用date_foromat()函数中转换格式

如果是java用string接收数据库返回的时间字段,那么sql中可以用date_format()定义好时间格式.

具体实现和注意点详见我的扩展笔记--date_format()函数

Select DATE_FORMAT(`Deadline`, "%y-%m-%d %H:%i:%s") as deadline From table

2.select查询时间字段后java用什么类型去接.

注意:接收不到的字段就会默认填充1970.01.01 00.00.00

如:用java.sql.date去接收数据库的year, java.sql.date的类型是YYYY-MM-DD,而year是YYYY,那么MM-DD就会被默认填充为01-01. 例如2023会被默认填充为2023-01-01

数据库时间类型java可接收类型
date除了数值类型,如Double, 其他什么时间类型都能接
time除了数值类型,如Double, 其他什么时间类型都能接
datetime除了数值类型,如Double, 其他什么时间类型都能接
timestamp除了数值类型,如Double, 其他什么时间类型都能接
year除了数值类型,如Double, 其他什么时间类型都能接

 3.从数据库查出来成功接收到时间字段后,通过代码去修改格式

比如,用java.util.date接收到了查询数据库返回的时间字段,这时,java.util.date的时间格式是Mon Mar 14 11:08:25 GMT+08:00 2022

我们可以通过new  SimpleDateFormat 去改变时间格式, 如下:

String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
System.out.println(timeStamp);

4:用@JsonFormat注解和@DataFormat去转换格式并返回给前端

public class ClassA{private String itemCode;@DateTimeFormat(pattern = "yyyy-MM-dd")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")private Date deadline;
}

注解@JsonFormat主要是后台到前台的时间格式的转换     详情注意内容请看扩展笔记

注解@DataFormat主要是前后到后台的时间格式的转换(完全没用!)详情注意内容请看扩展笔记

pattern:是你需要转换的时间日期的格式
timezone:是时间设置为东八区,避免时间在转换中有误差
提示:@JsonFormat注解可以在属性的上方,同样可以在属性对应的get方法上,两种方式没有区别


建议将日期格式转换及日期操作的独立写个工具类,也可以慢慢收集遇到不错的日期工具类

http://www.lryc.cn/news/12514.html

相关文章:

  • 一起学 pixijs(2):修改图形属性
  • LeetCode 121. 买卖股票的最佳时机
  • shell脚本内调用另外一个shell脚本的几种方法
  • Linux C++ 多进程下write写日志问题思考
  • MySQL的四种事务隔离级别
  • 方法区和元空间有什么关系?
  • 2023VNCTF的两道(暂时)
  • JDK版本区别
  • Android 基础知识4-2.8 TableLayout(表格布局)详解
  • SQL代码编码原则和规范
  • 【博客627】gobgp服务无损变更:graceful restart特性
  • 一起学 pixijs(1):常见图形的绘制
  • 2023年PMP考试教材有哪些?(含pmp资料)
  • centos7防火墙工具firewall-cmd使用
  • js html过滤所有标签格式并清除所有nbsp;
  • 「技术选型」深度学习软件如何选择?
  • 加油站会员管理小程序实战开发教程13
  • Go语言Web入门之浅谈Gin框架
  • 《MySQL学习》 MySQL优化器选择如何选择索引
  • uniapp 悬浮窗(应用内、无需授权) Ba-FloatWindow2
  • MMKV与mmap:全方位解析
  • 【信息系统项目管理师】项目管理十大知识领域记忆敲出(整体范围进度)
  • 一起学 pixijs(3):Sprite
  • 深入讲解Kubernetes架构-垃圾收集
  • Flink03: 集群安装部署
  • OCR项目实战(一):手写汉语拼音识别(Pytorch版)
  • 【js】export default也在影响项目性能呢
  • 《软件安全》 彭国军 阅读总结
  • 深入讲解Kubernetes架构-节点与控制面之间的通信
  • 120个IT冷知识,看完就不愁做选择题了