If there are multiple clients operating on many time zones, one trick that you can do is to calculate the time difference between the server and the client and apply it when querying the server. Following is are the steps
- Client downloads data from the server at 10am (as at the client)
- Client stores the last downloaded time
- Client goes offline
- Client comes online at 1.30pm and decides now is a good time to sync with the server
- Client asks for the current time from the server and the server replies its 2.45pm
- Now the client knows the time difference between it and the server is 1hr and 15mins
- Client applies this delta of 1hr and 15mins to last download time (step 2) and asks the server to send any update since 11.15am server time
Please keep in mind that you have to calculate an apply delta for each transaction (sync operation) as the client may cross time zones during two sync operations
There may be other cool solutions, but this is what comes to mind as a simple solution.
Cheers