使用covert_tz功能,PHP,mySQL更改全周的时区偏移



好吧,这是我要做的:

 $timezone1 = '+00:00';
 $timezone2 = '+08:00';
WHERE DATE(CONVERT_TZ(from_unixtime(comment_date), '$timezone1', '$timezone2')) =  DATE_SUB(CURRENT_DATE,INTERVAL 1 DAY)";

通过将输出转换为正确的时区,该线路为我提供了表格中昨天提交的总数。

现在,我想对本周的总数进行相同的操作提交:

 WHERE YEARWEEK(from_unixtime(comment_date), 1) =  YEARWEEK(CURRENT_DATE, 1)";

这给了我本周提交的总数,但时间偏移错误。如何将$ TimeZone1和$ TimeZone2获得此行?我尝试了几种组合,但似乎没有任何作用,例如:

 WHERE (CONVERT_TZ(YEARWEEK(from_unixtime(comment_date), 1), '$timezone1', '$timezone2')) =  YEARWEEK(CURRENT_DATE, 1)";

我不是PHP或MySQL开发人员,但是听起来您应该使用YEARWEEK

在您的原始代码中更改DATE
WHERE YEARWEEK(CONVERT_TZ(from_unixtime(comment_date), '$timezone1', '$timezone2')) 
    =  YEARWEEK(CURRENT_DATE, 1)";

如果这不起作用,请提供有关它不起作用的方式的更多信息。

还要注意,您并未真正提供时区 - 您正在提供偏移。这意味着您的代码将根据日光节省时间给出不一致的结果。根据您的要求,这可能是一个问题。

相关内容

  • 没有找到相关文章

最新更新