详解mysql获取当前日期及格式化

在 MySQL 中,您可以使用 NOW() 获取完整时间,使用 CURDATE() 获取日期。
日期格式更改,DATE_FORMAT 函数,%Y%m%d 更改为 2 02 3 09 1 7 ,%M%d,%Y 更改为 2 02 3 年 9 月 1 7 日。

自己掂量一下。

mysql如何获取当前时间

好吧,这些 MySQL 日期和时间函数有点令人困惑...您在编写数据库相关代码吗?
让我想想...例如,2 02 3 年,我在北京调试一个查询。
当我写now()时,它返回的是当时北京时区的日期和时间,对吗?这个函数没有什么特别的,它只是给你当前的时间。

然后你提到的 current_timestamp()、current_timestamp_localtime()、localtime()、localtimestamp()...听起来都一样。
这些别名是MySQL自带的吗?看起来这是出于兼容性或历史遗留原因。
不管怎样,效果和now()一样,都是当前时间。
你是对的,now()很短,很容易记住,就用这个,不要混淆。

让我们看看sysdate()...我以前经历过这个。
同样的时间是now,但是now()是在查询开始时固定的,sysdate()是在查询运行时计算的。
有什么意义呢?例如,如果使用 now() 添加条件休眠 1 秒,则整个查询将阻塞 1 秒后再执行;但使用sysdate()会直接执行查询,但返回的时间会比你预期的晚1 秒。
因此如果需要精确控制查询开始时间,请使用now()。
不然的话……就看你自己了。

curdate()、current_date()、current_date()...这三个函数只给出当前日期,不包括时间吗?例如,2 02 3 年 1 0 月 2 7 日。
我最后一次使用它是在 2 02 3 年 1 0 月 2 7 日写报告。
我只需要日期,所以我使用 curdate() 来避免额外的时间戳。

curtime()、current_time()、current_time()...同样,这三个函数仅提供当前时间,不包括日期,例如下午 2 :3 5 :2 1 例如,如果您想计算特定时间段内的活跃用户数,而您所需要的只是时间,请使用此功能。

最后,还有与UTC相关的utc_date()、utc_time()、utc_timestamp()...我在跨国业务系统上工作时使用过它。
比如我2 02 3 年在上海调试,客户在纽约。
使用utc_timestamp(),我可以直接获取协调世界时,方便统一时间标准。
您无需手动添加时差,因此您不必担心。

总结一下:常用的是now()或sysdate()。
如果你想要精确,请使用 now()。
如果您想要日期,请使用 curdate()。
如果需要时间,请使用 curtime()。
如果您需要国际标准,请使用 UTC。
您只需根据自己的需要进行选择即可。
我还在考虑这个问题……无论如何,这取决于你。