好吧,这是我要做的:
$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)";
如果这不起作用,请提供有关它不起作用的方式的更多信息。
还要注意,您并未真正提供时区 - 您正在提供偏移。这意味着您的代码将根据日光节省时间给出不一致的结果。根据您的要求,这可能是一个问题。