Live Plugin has a timezone problem #1769

anonymous-piwik-user opened this Issue Oct 14, 2010 · 6 comments

3 participants


As far as I can tell, visit_first_action_time is stored in the database in UTC, the Live visitor log, however, does not account for that (or does so insufficiently) in the WHERE clause.
For example: I have a website on UTC+02:00, and I had a visitor at 23:05. So this visitor was displayed, when the day of the recorded server time was selected in the calendar, however the displayed time was corrected for the timezone, which gave a very interesting effect: instead of displaying as 2010/10/13 23:05 it was displayed as 2010/10/14 01:05. After selecting 2010/10/14 in the calendar, it was not displayed at all.

The following patch needs to be applied, to make the visitors show up at the day they visited by the website timezone, not server time (description fits on trunk-r3248):

* plugins/Live/API.php  
  modify function loadLastVisitorDetailsFromDatabase, replace 
  $processedDate = Piwik_Date::factory($date,$currentTimezone);
  $processedDate = Piwik_Date::factory($date)->setTimezone($currentTimezone);

  modify function loadLastVisitorDetailsFromDatabase, replace
  array_push(  $whereBind,

  array_push(  $whereBind,
    $processedPeriod->getDateStart()->toString('Y-m-d H:m:s'),
    $processedPeriod->getDateEnd()->addDay(1)->toString('Y-m-d H:m:s'));

Dupe of #1375

Please apply vipsoft's patch / changeset [3246]. Please come up with feedback for the patch and if it fixes the problem.


I'll add some unit tests to the Live plugin.


At some point, I reverted [3026]. I'll re-test with UTC +/- offsets over a 24 hour period.


(In [3390]) fixes #1769 - Live Visitor Log timezone problem; thanks Ilinsekt for the patch (the only problem was changing HⓂ️s to H:i:s)

@anonymous-piwik-user anonymous-piwik-user added this to the Piwik 1.1 milestone Jul 8, 2014
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment