我在我的表格中存储UTC时区的日期,但我需要通过将日期从UTC转换为America / New_York时区来导出CSV文件。
我尝试过使用CONVERT_TZ MySQL函数,但是它给出了null。
如何仅使用MySQL而不使用PHP将日期从UTC转换为America / New_York时区?
答案 0 :(得分:1)
您必须加载时区表。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p password
如果您没有超级用户访问权限,则可以跳过友好的时区名称并指定小时数。
CONVERT_TZ(date,'+00:00','-07:00')
答案 1 :(得分:0)
使用CONVERT_TZ后,你得到null结果的原因是MySQL函数是没有设置TZ时区表。
您可以检查时区表是否已设置。 select * from mysql.time_zone; 如果它给出空值,那么你需要:
如果要使用CONVERT_TZ MySQL函数将日期从UTC转换为America New_Yark时区,请在MySql中插入时区。
您可以在不使用update time_zone表的情况下运行以下查询。
SELECT DATE_SUB(order_date,INTERVAL 5 HOUR)作为OrderDate
来自TABLE_NAME
使用日期格式:
SELECT DATE_FORMAT(DATE_SUB(order_date,INTERVAL 5 HOUR),'%Y-%m-%d%h。%i。%s%p')作为OrderDate
来自TABLE_NAME
请看一下类似的问题。
它将帮助您“如何在MySql中插入时区”。