freebsd-src/bin/date
Mateusz Piotrowski eeb04a736c date: Add support for nanoseconds
This patch introduces support for a conversion specification for
nanoseconds.

The format of %N is meant to be compatible with that of GNU date.

The nanoseconds conversion specification is implemented directly in
date(1) instead of libc (in strftime(3)) to avoid introducing
non-standard functions to libc at this time and modifying struct tm.

Apart from introducing the nanoseconds conversion specification, this
patch brings the following changes:

- The "ns" format for ISO 8061 dates is now unlocked. E.g., date -Ins
  prints:
      2024-04-22T12:20:28,763742224+02:00
- The -r flag when fed a file is now aware of the nanosecond part of the last
  modification time.
- date(1) is now able to set the time with nanosecond precision. It is
  not possible as of now to do that by specifying nanoseconds directly
  via the command-line arguments. Instead, the -r flag can be used.
- date(1) is now using the clock_gettime(3) family of functions instead
  of ctime(3) family of functions where possible.

Reviewed by:	des, markj
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D44905
2024-04-26 11:26:50 +02:00
..
tests date: Add support for nanoseconds 2024-04-26 11:26:50 +02:00
date.1 date: Add support for nanoseconds 2024-04-26 11:26:50 +02:00
date.c date: Add support for nanoseconds 2024-04-26 11:26:50 +02:00
Makefile bin: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
Makefile.depend Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
vary.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
vary.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00