journalctl -o short-iso[-precise]: timezone as +02:00 instead of +0200

This commit is contained in:
наб 2023-09-08 17:28:57 +02:00
parent bf83c6707e
commit 0693e6b246
No known key found for this signature in database
GPG key ID: BCFD0B018D2658F1
2 changed files with 15 additions and 13 deletions

View file

@ -467,7 +467,8 @@
<varlistentry>
<term><option>short-iso</option></term>
<listitem><para>is very similar, but shows ISO 8601 wallclock timestamps.</para>
<listitem><para>is very similar, but shows timestamps in the
<ulink url="https://tools.ietf.org/html/rfc3339">RFC 3339</ulink> profile of ISO 8601.</para>
<xi:include href="version-info.xml" xpointer="v206"/></listitem>
</varlistentry>

View file

@ -403,24 +403,25 @@ static int output_timestamp_realtime(
break;
case OUTPUT_SHORT_ISO:
if (strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S%z",
localtime_or_gmtime_r(&t, &tm, flags & OUTPUT_UTC)) <= 0)
case OUTPUT_SHORT_ISO_PRECISE: {
size_t tail = strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S",
localtime_or_gmtime_r(&t, &tm, flags & OUTPUT_UTC));
if (tail == 0)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Failed to format ISO time");
break;
case OUTPUT_SHORT_ISO_PRECISE: {
char usec[7];
/* No usec in strftime, need to append */
if (mode == OUTPUT_SHORT_ISO_PRECISE) {
snprintf(buf + tail, ELEMENTSOF(buf) - tail, ".%06"PRI_USEC, display_ts->realtime % USEC_PER_SEC);
tail += 7;
}
/* No usec in strftime, so we leave space and copy over */
if (strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S.xxxxxx%z",
localtime_or_gmtime_r(&t, &tm, flags & OUTPUT_UTC)) <= 0)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Failed to format ISO-precise time");
xsprintf(usec, "%06"PRI_USEC, display_ts->realtime % USEC_PER_SEC);
memcpy(buf + 20, usec, 6);
int8_t h = tm.tm_gmtoff / 60 / 60;
int8_t m = labs((tm.tm_gmtoff / 60) % 60);
snprintf(buf + tail, ELEMENTSOF(buf) - tail, "%+03"PRId8":%02"PRId8, h, m);
break;
}
case OUTPUT_SHORT:
case OUTPUT_SHORT_PRECISE: