mysql unix_timestamp 时间日期转换时间戳问题

本文主要讨论了在MySQL中使用unix_timestamp进行时间日期转换时遇到的时间不正确的问题,原因是MySQL的时区设置。解决方案包括:检查并设置AC时区,查看并调整数据库和系统的时区配置,特别是通过`timedatectl set-timezone Asia/Shanghai`命令设置系统时区到上海时区,以及针对只需要时分秒转换为时间戳的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

做AC下发指定时间关闭射频功能时,遇到AC页面配置到数据库时间正确,但是从数据库取出时间转换为时间戳时,转换有问题,时间不正确!

原因:

由于mysql中的时区原因,使用unix_timestamp 转换为时间戳与时区有关!

解决:

设置AC的时区为当前所处位置的时区。

  1. 查看数据库的时区
MariaDB [(none)]> select now();
+---------------------+
| now()               |
+---------------------+
| 2019-07-25 05:22:39 |
+---------------------+
1 row in set (0.00 sec)

MariaDB [(none)]> ;
ERROR: No query specified

MariaDB [(none)]> select now();
+---------------------+
| now()               |
+---------------------+
| 2019-07-25 05:26:16 |
+---------------------+
1 row in set (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> 
MariaDB [(none)]> show variables like "%time_zone%";
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | EDT    |
| time_zone        | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)

MariaDB [(none)]> exit

2.查看系统时区

[root@localhost zte]# date
Thu Jul 25 05:48:58 EDT 2019

3.设置系统时区,重启mariadb,查看时区配置
通过timedatectl set-timezone Asia/Shanghai 命令设置系统时区

[root@localhost zte]# timedatectl set-timezone Asia/Shanghai 
[root@localhost zte]# service mariadb restart
Redirecting to /bin/systemctl restart mariadb.service
MariaDB [(none)]> show variables like "%time_zone%";
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | CST    |
| time_zone        | SYSTEM |
+------------------+--------+

4.去除年月日,只需要要时分秒转换为时间戳

MariaDB [(none)]> select time_to_sec('2019-07-25 14:40:00');
+------------------------------------+
| time_to_sec('2019-07-25 14:40:00') |
+------------------------------------+
|                              52800 |
+------------------------------------+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值