now() 的用法

在平时对于数据库操作中,有时候会使用到时间,比如-数据的创建时间/更新时间之类问题,可能是需要查询出时间的结果,也存在大量的需要搜索某个时间点或时间段的操作;

MySQL中取本地时间

now() 取本地的时间,精确到秒

 

CURDATE() 精确到天

 

CURTIME()仅取今天的时分秒

 

当需要作为实时的搜索条件时,可以直接跟WHERE条件后直接食用

这里介绍一下自定义式的时间格式化方式

DATE_FORMAT(时间,'时间格式')

这个方法会将前面的时间按照你后面的格式进行格式化处理

 

这里贴一下我从其他大佬哪里粘过来的(附上了大佬的帖子链接)

%W 星期名字(Sunday……Saturday)

%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)

%Y 年, 数字, 4 位

%y 年, 数字, 2 位

%a 缩写的星期名字(Sun……Sat)

%d 月份中的天数, 数字(00……31)

%e 月份中的天数, 数字(0……31)

%m 月, 数字(01……12)

%c 月, 数字(1……12)

%b 缩写的月份名字(Jan……Dec)

%j 一年中的天数(001……366)

%H 小时(00……23)

%k 小时(0……23)

%h 小时(01……12)

%I 小时(01……12)

%l 小时(1……12)

%i 分钟, 数字(00……59)

%r 时间,12 小时(hh:mm:ss [AP]M)

%T 时间,24 小时(hh:mm:ss)

%S 秒(00……59) %s 秒(00……59)

%p AM或PM

%w 一个星期中的天数(0=Sunday ……6=Saturday )

%U 星期(0……52), 这里星期天是星期的第一天

%u 星期(0……52), 这里星期一是星期的第一天 %% 一个文字“%”。

--------------------- 来自 zzzgd_666 的CSDN 博客全文地址请点击:https://blog.csdn.net/zzzgd_666/article/details/80594087?utm_source=copy

这里存在一个问题,就是如果你将格式的时间直接作为条件取搜索,很可能是无法搜索出你想要的数据的(使用=条件触发概率更大),因为,在数据库中,我们很多情况下存储的时间都是精确到秒的,格式化的时间与数据库中数据时间未做到一致,导致无法搜索到数据;

解决方法1:格式化两个时间,一个是你的搜索条件(我这里是取本机时间NOW),一个是你需要搜索的时间字段也做一个相同的时间格式,然后将这两个作为你的比对条件即可解决问题;
---------------------
作者:不徒手而亡
来源:CSDN
原文:https://blog.csdn.net/qq_40234946/article/details/82889270
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/insane-Mr-Li/p/10124770.html