好的,这就是我要做的事情:
$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)";
答案 0 :(得分:1)
我不是PHP或MySQL开发人员,但听起来你应该只是用DATE
改变原始代码中的YEARWEEK
WHERE YEARWEEK(CONVERT_TZ(from_unixtime(comment_date), '$timezone1', '$timezone2'))
= YEARWEEK(CURRENT_DATE, 1)";
如果这不起作用,请提供有关方式无法正常工作的更多信息。
另请注意,您并未真正提供时区 - 您提供的是偏移量。这意味着您的代码将根据夏令时给出不一致的结果。根据您的要求,这可能是也可能不是问题。