[PATCH] date (add gnu-ism)

walter harms wharms at bfs.de
Wed Oct 1 07:02:25 UTC 2008



David Edwards schrieb:
> This patch adds the ability to specify time as seconds from epoch using 
> the @integer syntax. It's a (poorly-documented) gnu-ism (and has been 
> for a number of years) that is really handy for a couple things. 
> Examples: Replace ntpdate with a short script, or calculate "when is now 
> plus 45,100 seconds?".
> 
> Please consider applying.
> 
> Index: busybox/coreutils/date.c
> ===================================================================
> --- busybox/coreutils/date.c	(revision 23570)
> +++ busybox/coreutils/date.c	(working copy)
> @@ -146,6 +146,14 @@
>  						end = '\0';
>  					/* else end != NUL and we error out 
> */
>  				}
> +			} else if (date_str[0] == '@') {
> +				/* The format '@SECONDS' is a poorly-documented GNU-ism. */
> +				/* The 'SECONDS' counts from 1 Jan 1970 - just like time_t. */
> +				int seconds; /* Avoiding casting time_t */
> +				if (sscanf(date_str, "@%d%c", &seconds, &end) < 1)
> +					bb_error_msg_and_die(bb_msg_invalid_date, date_str);
> +				tm = seconds;
> +				memcpy(&tm_time, localtime(&tm), sizeof(tm_time));
>  			} else {
>  				if (sscanf(date_str, "%2u%2u%2u%2u%u%c", &tm_time.tm_mon,
>  							&tm_time.tm_mday, &tm_time.tm_hour, &tm_time.tm_min,
>


date -u should use UTC does it work here also ?

re,
  wh



More information about the busybox mailing list