I’m looking at an application where I need to synchronize time precisely across multiple devices, and I’d rather not have to include a GPS receiver just to get a clock reference that isn’t subject to internet latency, or find a different option than particle.
All devices synchronize the time over their cloud connection, CoAP over DTLS for cellular devices. The time is only approximate, and does not take into account connection latency.
If you need a high-accuracy real-time clock you’ll need to add an external one, because the real-time counter on the nRF52 is not particularly accurate.
Yes, you can use Cellular.command() to get the time from the cellular tower by sending the AT+CCLK command to the modem. That also is not latency adjusted, and only has a resolution of 1 second.
You also could use NTP (network time protocol) over UDP which does take into account packet latency to get to a few millisecond resolution.
It’s local time with a timezone offset in 15 minute increments, so the timezone is a weird -96 to +96 value but it can easily be mapped to something more common, or UTC.