AT+QGPSXTRADATA? returns starting time of the validity period of previously injected data file, but documentation doesn’t mentioned for which timezone is time is.
When XTRA is uninitialized AT+QGPSXTRADATA? returns
$ sudo mmcli -m any --command='AT+QGPSXTRADATA?'
response: '+QGPSXTRADATA: 0,"1980/01/05,19:00:00"'
or some time extracted from injected XTRA data.
$ sudo mmcli -m any --command='AT+QGPSXTRADATA?'
response: '+QGPSXTRADATA: 1440,"2025/10/12,01:00:00"'
Initial date looks odd. I assume it is in some timezone.
How does it correlated to actual time? Is it in UTC or some custom timezone? Which one?
I found QMI call, that returns validity information for XTRA data - “Get Predicted Orbits Data Validity” (0x0037).
It returns information in UTC according to this:
Based on the behavior you captured, AT+QGPSXTRADATA? is reporting the XTRA validity start time in the module’s “local time” (i.e., the same time base/timezone the modem uses for its clock display), while the QMI “Get Predicted Orbits Data Validity (0x0037)” is reporting startTimeInUTC as an absolute UTC epoch timestamp.
That’s why you see a fixed offset of a few hours between them: it’s simply the timezone (and possibly daylight-saving) offset being applied when the AT layer formats the timestamp.
You can see this directly from your two examples:
Uninitialized case: QMI shows 1980-01-06T00:00:00Z, but AT shows 1980/01/05,19:00:00 → that is UTC−5 hours.
Initialized case: QMI shows 2025-10-12T05:00:00Z, but AT shows 2025/10/12,01:00:00 → that is UTC−4 hours (typical DST behavior in some regions).
So the correlation is:
UTC_time = AT_time − (module_timezone_offset)
AT_time = UTC_time + (module_timezone_offset)
If you want AT+QGPSXTRADATA? to match the QMI UTC time, set/keep the modem time in UTC (timezone offset = 0) or disable any automatic timezone update from network, then re-check. As a cross-check, compare the modem’s displayed clock (e.g., the standard AT time readout) against UTC to confirm what offset the modem is currently applying.
Separately (just for context), the QuecOpen GNSS stack supports injecting XTRA data/files into the GNSS engine (e.g., QL_LOC_Xtra_InjectData / QL_LOC_Xtra_InjectFile), and those injected files are what drive the “valid-from + duration” window you’re querying.