I run 4 stores with the following timezones:
Store A: GMT -7 hours
Store B: GMT 0 hours
Store C: GMT +8 hours
Store D: GMT +4 hours
Product price reindex starts at 2:00am and 9:00am (GMT +8 hours). Recently some customers are complaining that they do not see the discounts at approx 5:00am (GMT +8 hours) in Store C or Store D.
When should the price reindex start to ensure all the discounts are effective across all the available timezones?
Edit: I changed the default timezone on the MySQL database to UTC in the testing environment (before the timezone was not set and therefore MySQL was using the Linux server's timezone which was GMT +8 hours). The discount rules start to disappear after 12:00am (GMT +8 hours).
The reason why the production environment had the database set to UTC was that the Magento MySQL was hosted in Amazon RDS. The default timezone was set to UTC and there's no way to change it.
So it seems that the default/admin timezone has to match that of the Magento database. Unfortunately there's no UTC timezone in Magento. I set it to GMT Standard (Europe/London) but now I found that the time is actually GMT +1 hour (following BST?). I am running Magento CE version 1.8.1.0.