I've found this message in the bug-coreutils list. It turns out that date is parsing the + 1 as offset from UTC. This can be seen if I use different numbers in my date invocation:
Notice how the minute field stays at 01 rather than being incremented (decremented) by the value I specified.
Now, counter-intuitively, I can place the + 1 minute anywhere in the date definition, so
works as I wanted it to.
So, it is a (known) bug; it is not the bug I thought it was.
Time to mark as solved.
Andrew
These 2 Users Gave Thanks to apmcd47 For This Post:
I know there are some posts on getting the time with milliseconds included and I realize unix may not be the best on this.
I have seem some posts where its advised to install the GNU date.
Any one know where I can download this as I am struggling to find it.
Alternatively - if you have... (5 Replies)
Should work in any shell, but requires GNU date, although GNU date seems only to be happy for input dates between 1902 and 2037, inclusive (49673 days).
Assume $a and $b hold two dates, e.g.
set a=2010-03-27
set b=2010-04-04
Marginally faster:
iterator: seq -f "$a +%1.0f days" 1 50000 |... (0 Replies)
Dear all,
This should be simple but I cannot figure it out despite reading all the man pages. Could someone please help me translate this code (GNU date) to one that can be read by BSD date?:
myDate=$(date -d "$h -$l days" +%Y/%m/%d),
where h is a variable of the form DD/MM/YYYY, and l is... (3 Replies)
It's easy as pie to get the date minus one day on opensolaris:
date -d "-1 day" +"%Y%m%d"run this command on our crappy Solaris 10 machines however (which I'm guessing doesn't have GNU date running on it) and you get:
date: illegal option -- d
date: illegal option -- 1
date: illegal option --... (5 Replies)
Dear all,
I have 2 questions.
I have a file with many rows which has date of the format YYYYMMDD.
1. I need to change the date to that weeks friday date(Ex: 20120716(monday) to 20120720). Satuday/Sunday has to be changed to next week friday date too.
2. After converting the date to... (10 Replies)
Why is the result of this command off (or less) by one hour
date --date "1979-10-26 +54 hours" +%Y%m%d%H
The result is
1979102805
It actually should be
1979102806
It does it with adding minutes as well and only occurs on Oct. 26, from what I can tell. What's going on here? (9 Replies)
Hello All,
Greetings all !!
I have a query here, following are the points on same(Adding today's is 31st August 2016 for future reference).
1st Scenario: So while doing some work on GNU date, I wanted to check what was the month(in numbers) by GNU date so I have done following.
date... (2 Replies)
i try to set linux date & time in specific format but it keep giving me error
Example :
date "+%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01"
or
date +"%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01"
keep giving me this error :
date: invalid date ‘19-01-2017 00:05:01'
Please use CODE tags... (7 Replies)
Discussion started by: umen
7 Replies
LEARN ABOUT BSD
date
DATE(1) General Commands Manual DATE(1)NAME
date - print and set the date
SYNOPSIS
date [-nu] [-d dst] [-t timezone] [yymmddhhmm [.ss] ]
DESCRIPTION
If no arguments are given, the current date and time are printed. Providing an argument will set the desired date; only the superuser can
set the date. The -d and -t flags set the kernel's values for daylight savings time and minutes west of GMT. If dst is non-zero, future
calls to gettimeofday(2) will return a non-zero tz_dsttime. Timezone provides the number of minutes returned by future calls to gettimeof-
day(2) in tz_minuteswest. The -u flag is used to display or set the date in GMT (universal) time. yy represents the last two digits of
the year; the first mm is the month number; dd is the day number; hh is the hour number (24 hour system); the second mm is the minute num-
ber; .ss is optional and represents the seconds. For example:
date 8506131627
sets the date to June 13 1985, 4:27 PM. The year, month and day may be omitted; the default values will be the current ones. The system
operates in GMT. Date takes care of the conversion to and from local standard and daylight-saving time.
If timed(8) is running to synchronize the clocks of machines in a local area network, date sets the time globally on all those machines
unless the -n option is given.
FILES
/usr/adm/wtmp to record time-setting. In /usr/adm/messages, date records the name of the user setting the time.
SEE ALSO gettimeofday(2), utmp(5), timed(8),
TSP: The Time Synchronization Protocol for UNIX 4.3BSD, R. Gusella and S. Zatti
DIAGNOSTICS
Exit status is 0 on success, 1 on complete failure to set the date, and 2 on successfully setting the local date but failing globally.
Occasionally, when timed synchronizes the time on many hosts, the setting of a new time value may require more than a few seconds. On
these occasions, date prints: `Network time being set'. The message `Communication error with timed' occurs when the communication between
date and timed fails.
BUGS
The system attempts to keep the date in a format closely compatible with VMS. VMS, however, uses local time (rather than GMT) and does not
understand daylight-saving time. Thus, if you use both UNIX and VMS, VMS will be running on GMT.
4th Berkeley Distribution March 24, 1987 DATE(1)