Q:

Timers not running synchronously from central timestamp

I'm creating a game with a central timestamp set in a database. User 1 starts the game and the timestamp gets send to the database. Both players have a timer running in their apps, running 1 gametimer and 1 update timer. 
Player 1:
Lets say the timestamp set by user 1 is: 20:00:00.
Then the game runs until 22:00:00.
And the next update will be on 20:15:00. (after 15 minutes another 15 minutes will be added)
Player 2
Player 2 gets exactly the same timestamp from the database: 20:00:00
Player 2 also adds 15 minutes to the central timestamp. 20:15:00
And the game endtime also is the central timestamp +2 hours 22:00:00
But now the issue: 
Even when the timestamp is the same on both devices, the timer runs behind 3-4 seconds atleast. How is this possible when both timers are oriented on the same timestamp? The timer interval is set on 100ms.
The code im using:
Player 1:
private void InitializeTimer()
{
    StartTime = CurrentGame.StartTime.Value;
    EndTime = StartTime.AddMinutes(CurrentSettings.TotalGameTime); // added 120 minutes
    NextUpdateTime = StartTime.AddSeconds(CurrentSettings.LocationTimePlayers); // added 15 minutes
    NextUpdateTimeAdmin = StartTime.AddSeconds(CurrentSettings.LocatonTimeAdmin); // added 1 minute

    GameTimer = new Timer();
    GameTimer.Interval = 100;
    GameTimer.Elapsed += GameTimer_Elapsed;
    GameTimer.Enabled = true;
}

Player 2:
private void InitializeGameTimer()
{
    StartTime = CurrentGame.StartTime.Value;
    EndTime = StartTime.AddMinutes(CurrentSettings.TotalGameTime); //added 120 minutes
    NextUpdateTime = StartTime.AddSeconds(CurrentSettings.LocationTimePlayers); //added 15 minutes

    GameTimer = new Timer();
    GameTimer.Interval = 100;
    GameTimer.Elapsed += GameTimer_Elapsed;
    GameTimer.Enabled = true;
}

Can somebody please point me in a direction? I'm really getting stuck on this.
Many thanks in advance.
EDIT, added elapsed event used on both devices.
public void GameTimer_Elapsed(object sender, ElapsedEventArgs e)
{
    DateTime now = DateTime.Now;
    if (now >= NextUpdateTime)
    {
        this.StartSearchingForLocationUpdates(this, null);
        //Restart updatetimer(add 15 minutes again)
        NextUpdateTime = NextUpdateTime.AddSeconds(CurrentSettings.LocationTimePlayers);
    }

    EndGameTimeSpan = EndTime.Subtract(now);// amount of gametime left, will be shown on UI
    NextUpdateTimeSpan = NextUpdateTime.Subtract(now);// time till next update, will be shown on UI

    this.GameTimerElapsed(sender, e);
}

A:

Found the solution! The current time on one device runs behind 5 seconds. So it's not my code causing the issue, but the phone is.

