As a time connoisseur, I really get really pissed off when my phone's time is off by a second or two. Considering phone receives time from the radio network, one would expect this not to happen. However, for some reason, it seems no USA network provider actually cares to have their radio time straight. The solution to this problem would be using an NTP server instead of the time provided by the network. However, with an Android devices that's not as straightforward as one would expect. But it is possible...
Before starting anything, we first need to turn on Developer Options (usually tapping Build Number 7 times). Once this is enabled, we need to enable USB Debugging (Settings > System > Advanced > Developer Options > USB debugging). With this done, we can finally download Platform Tools and check if our device is visible:
Terminaladb devices
List of devices attached
0A281JCCBA0317 device
Once connectivity is tested, we can immediately go onto setting the NTP server followed by a reboot:
Terminaladb shell settings put global ntp_server time.medo64.com
adb reboot
Once device has rebooted we can check the value:
Terminaladb shell settings get global ntp_server
time.medo64.com
And that's it. Now your device will use the defined time server instead of the unreliable network time.
How to check whether it is working fine
You can set clock manually to a slightly wrong time and check how it works upon setting NTP up.