Sponsored Content
Full Discussion: Bug in date command?
Operating Systems Linux Bug in date command? Post 302841471 by Ygor on Wednesday 7th of August 2013 12:14:08 PM
Old 08-07-2013
I think the question has already been answered, but to reduce confusion, perhaps include the time zone %Z to see what is happening...
Code:
$ date --date "1979-10-26" '+%Y%m%d%H %Z'
1979102600 GMTDT

$ date --date "1979-10-26 +54 hours" '+%Y%m%d%H %Z'
1979102805 GMTST

$ date --utc --date "1979-10-26 +54 hours" '+%Y%m%d%H %Z'
1979102806 UTC

$

If you are still "befuddled", then that is to be expected. The first page of info date provides a quote...
Code:
File: coreutils.info,  Node: Date input formats

28 Date input formats
*********************

First, a quote:

     Our units of temporal measurement, from seconds on up to months,
     are so complicated, asymmetrical and disjunctive so as to make
     coherent mental reckoning in time all but impossible.  Indeed, had
     some tyrannical god contrived to enslave our minds to time, to
     make it all but impossible for us to escape subjection to sodden
     routines and unpleasant surprises, he could hardly have done
     better than handing down our present system.  It is like a set of
     trapezoidal building blocks, with no vertical or horizontal
     surfaces, like a language in which the simplest thought demands
     ornate constructions, useless particles and lengthy
     circumlocutions.  Unlike the more successful patterns of language
     and science, which enable us to face experience boldly or at least
     level-headedly, our system of temporal calculation silently and
     persistently encourages our terror of time.

     ...  It is as though architects had to measure length in feet,
     width in meters and height in ells; as though basic instruction
     manuals demanded a knowledge of five different languages.  It is
     no wonder then that we often look into our own immediate past or
     future, last Tuesday or a week from Sunday, with feelings of
     helpless confusion.  ...

     -- Robert Grudin, `Time and the Art of Living'.

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

want to get previous date from date command in ksh

I want to get previous date from date command. I am using ksh shell. Exmp: today is 2008.09.04 I want the result : 2008.09.03 Please help. Thanks in advance. (4 Replies)
Discussion started by: rinku
4 Replies

2. Shell Programming and Scripting

how to obtain date and day of the week from `date` command

Hi, does anybody know how to format `date` command correctly to return the day of the week? Thanks -A I work in ksh.... (1 Reply)
Discussion started by: aoussenko
1 Replies

3. Shell Programming and Scripting

mv command not found bug

foreach x ( *.foo) echo "move file?" set move=$< if($move == y) then echo "enter new pathname:" set path=$< mv $x $path/$x endif end ok guys, im creating this script so i can move files with *.foo extensions and *.bar... (6 Replies)
Discussion started by: pantelis
6 Replies

4. Shell Programming and Scripting

How to get tomorrow,yesterday date from date Command

Hi I want to get tomorrow and yesterday date from date command. My shell is KSH and server is AIX. I tried several options, but unable to do. Please help on this. Regards Rajesh (5 Replies)
Discussion started by: rajeshmepco
5 Replies

5. UNIX for Advanced & Expert Users

Strange bug crontab command line php / bcompiler

Hello everyone, I have a small problem that I'm stuck for several days and I do not go out. I tell you, I have a php script that I want to run crontab, it uses a compiled bcompiler file. In my php file if(file_exists("php/Alibrary.phb")){ include_once("php/Alibrary.phb"); What I do... (6 Replies)
Discussion started by: nicolas33770
6 Replies

6. Shell Programming and Scripting

Find week of the year for given date using date command inside awk

Hi all, Need an urgent help on the below scenario. script: awk -F"," 'BEGIN { #some variable assignment} { #some calculation and put values in array} END { year=#getting it from array and assume this will be 2014 month=#getting it from array and this will be 05 date=#... (7 Replies)
Discussion started by: vijaidhas
7 Replies

7. HP-UX

HP/UX command to pull file name/date based on date

HI, Can anyone tell me how to pull the date and file name separated by a space using the find command or any other command. I want to look through several directories and based on a date timeframe (find -mtime -7), output the file name (without the path) and the date(in format mmddyyyy) to a... (2 Replies)
Discussion started by: lnemitz
2 Replies

8. Shell Programming and Scripting

Bug in Gnu date?

So as I write this today is two days after the clocks go back here in the UK. I have a script that worked last week. Yesterday it developed a bug. I eventually found the culprit is Gnu Date. $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS... (10 Replies)
Discussion started by: apmcd47
10 Replies

9. HP-UX

awk command in hp UNIX subtract 30 days automatically from current date without date illegal option

current date command runs well awk -v t="$(date +%Y-%m-%d)" -F "'" '$1 < t' myname.dat subtract 30 days fails awk -v t="$(date --date="-30days" +%Y-%m-%d)" -F "'" '$1 < t' myname.dat awk command in hp unix subtract 30 days automatically from current date without date illegal option error... (20 Replies)
Discussion started by: kmarcus
20 Replies
Time::ParseDate(3)					User Contributed Perl Documentation					Time::ParseDate(3)

NAME
Time::ParseDate -- date parsing both relative and absolute SYNOPSIS
use Time::ParseDate; $seconds_since_jan1_1970 = parsedate("12/11/94 2pm", NO_RELATIVE => 1) $seconds_since_jan1_1970 = parsedate("12/11/94 2pm", %options) OPTIONS
Date parsing can also use options. The options are as follows: FUZZY -> it's okay not to parse the entire date string NOW -> the "current" time for relative times (defaults to time()) ZONE -> local timezone (defaults to $ENV{TZ}) WHOLE -> the whole input string must be parsed GMT -> input time is assumed to be GMT, not localtime UK -> prefer UK style dates (dd/mm over mm/dd) DATE_REQUIRED -> do not default the date TIME_REQUIRED -> do not default the time NO_RELATIVE -> input time is not relative to NOW TIMEFIRST -> try parsing time before date [not default] PREFER_PAST -> when year or day of week is ambigueous, assume past PREFER_FUTURE -> when year or day of week is ambigueous, assume future SUBSECOND -> parse fraction seconds VALIDATE -> only accept normal values for HHMMSS, YYMMDD. Otherwise days like -1 might give the last day of the previous month. DATE FORMATS RECOGNIZED
Absolute date formats Dow, dd Mon yy Dow, dd Mon yyyy Dow, dd Mon dd Mon yy dd Mon yyyy Month day{st,nd,rd,th}, year Month day{st,nd,rd,th} Mon dd yyyy yyyy/mm/dd yyyy-mm-dd (usually the best date specification syntax) yyyy/mm mm/dd/yy mm/dd/yyyy mm/yy yy/mm (only if year > 12, or > 31 if UK) yy/mm/dd (only if year > 12 and day < 32, or year > 31 if UK) dd/mm/yy (only if UK, or an invalid mm/dd/yy or yy/mm/dd) dd/mm/yyyy (only if UK, or an invalid mm/dd/yyyy) dd/mm (only if UK, or an invalid mm/dd) Relative date formats: count "days" count "weeks" count "months" count "years" Dow "after next" Dow "before last" Dow (requires PREFER_PAST or PREFER_FUTURE) "next" Dow "tomorrow" "today" "yesterday" "last" dow "last week" "now" "now" "+" count units "now" "-" count units "+" count units "-" count units count units "ago" Absolute time formats: hh:mm:ss[.ddd] hh:mm hh:mm[AP]M hh[AP]M hhmmss[[AP]M] "noon" "midnight" Relative time formats: count "minutes" (count can be franctional "1.5" or "1 1/2") count "seconds" count "hours" "+" count units "+" count "-" count units "-" count count units "ago" Timezone formats: [+-]dddd GMT[+-]d+ [+-]dddd (TZN) TZN Special formats: [ d]d/Mon/yyyy:hh:mm:ss [[+-]dddd] yy/mm/dd.hh:mm DESCRIPTION
This module recognizes the above date/time formats. Usually a date and a time are specified. There are numerous options for controlling what is recognized and what is not. The return code is always the time in seconds since January 1st, 1970 or undef if it was unable to parse the time. If a timezone is specified it must be after the time. Year specifications can be tacked onto the end of absolute times. If "parsedate()" is called from array context, then it will return two elements. On sucessful parses, it will return the seconds and what remains of its input string. On unsucessful parses, it will return "undef" and an error string. EXAMPLES
$seconds = parsedate("Mon Jan 2 04:24:27 1995"); $seconds = parsedate("Tue Apr 4 00:22:12 PDT 1995"); $seconds = parsedate("04.04.95 00:22", ZONE => PDT); $seconds = parsedate("Jan 1 1999 11:23:34.578", SUBSECOND => 1); $seconds = parsedate("122212 950404", ZONE => PDT, TIMEFIRST => 1); $seconds = parsedate("+3 secs", NOW => 796978800); $seconds = parsedate("2 months", NOW => 796720932); $seconds = parsedate("last Tuesday"); $seconds = parsedate("Sunday before last"); ($seconds, $remaining) = parsedate("today is the day"); ($seconds, $error) = parsedate("today is", WHOLE=>1); AUTHOR
David Muir Sharnoff <muir@idiom.com>. LICENSE
Copyright (C) 1996-2006 David Muir Sharnoff. License hereby granted for anyone to use, modify or redistribute this module at their own risk. Please feed useful changes back to muir@idiom.com. perl v5.12.1 2006-08-15 Time::ParseDate(3)
All times are GMT -4. The time now is 10:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy