0
好这里是我想要做:更改时区使用COVERT_TZ功能,PHP的YEARWEEK偏移,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)";
感谢您的帮助 - 它给了我一个错误消息**对原生函数'CONVERT_TZ'的调用中错误的参数计数** 夏令时期间的偏移问题与我无关,因为我可以切换它手动。我所尝试的只是将我在“昨天”输出中使用的相同逻辑应用到“本周”输出中。我认为你提供的这一行是正确的,应该只是一个小错误。我现在试图找到它。 –
@GeorgiGrancharov:糟糕,我有一些括号错误。将解决这些问题。目前还不清楚你的YEARWEEK版本中from_unixtime的'1'参数是什么。 –
它来自我在此线程中收到的答案:[http://stackoverflow.com/questions/13192170/mysql-date-show-results-today-yesterday-week#comment17957641_13192170] - 我现在检查它 –