11-12-2003
Hi,
You can use the script below, it will do more than you asked, but you can easly modify it... it was written by Tapani Tarvainen.
#! /usr/bin/ksh
# Get yesterday's date in YYYY-MM-DD format.
# With argument N in range 1..28 gets date N days before.
# Tapani Tarvainen January 2002
# This code is in the public domain.
OFFSET=${1:-1}
case $OFFSET in
*[!0-9]* | ???* | 3? | 29) print -u2 "Invalid input" ; exit 1;;
esac
eval `date "+day=%d; month=%m; year=%Y`
typeset -Z2 day month
typeset -Z4 year
# Subtract offset from day, if it goes below one use 'cal'
# to determine the number of days in the previous month.
day=$((day - OFFSET))
if (( day <= 0 )) ;then
month=$((month - 1))
if (( month == 0 )) ;then
year=$((year - 1))
month=12
fi
set -A days `cal $month $year`
xday=${days[$(( ${#days[*]}-1 ))]}
day=$((xday + day))
fi
print $year-$month-$day
print $month/$day/${year#??}
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi Guys.
I am very new to UNIX.
I need to get yesterdays and tommorows date given todays date.
Which command and syntax do i use in basic UNIX shell.
Thanks. (2 Replies)
Discussion started by: magikminox
2 Replies
2. Shell Programming and Scripting
To get yesterays date, execute the command :
TZ=aaa24 date +%Y%m%d
Output format will be yyyymmdd (2 Replies)
Discussion started by: sujju1985
2 Replies
3. UNIX for Dummies Questions & Answers
Hi,
Was using date +%Y%j to get current julian date. Can anyone let me know how can I get y'day's julin date. Thx
Did check FAQ but couldn't find anything.
Thanks. (3 Replies)
Discussion started by: er_ashu
3 Replies
4. UNIX for Dummies Questions & Answers
I tried this and it works for the most part, but if the date is 20090301, it displays 20090300.
YESTERDAY=$((`date +%Y%m%d` -1)) (2 Replies)
Discussion started by: cards0622
2 Replies
5. Shell Programming and Scripting
hi All,
I have this sample text file - access.log:
Jan 18 21:34:29 root 209.151.232.70
Jan 18 21:34:40 root 209.151.232.70
Jan 18 21:34:43 root 209.151.232.70
Jan 18 21:34:56 root 209.151.232.70
Jan 18 21:35:10 root 209.151.232.70
Jan 18 21:35:23 root 209.151.232.70
Jan 18 21:36:04 root... (2 Replies)
Discussion started by: linuxgeek
2 Replies
6. Shell Programming and Scripting
Hey guys - i have a script (below) that searches for current files in a particular directory.
However i was wondering how to make it search for "yesterdays" file. For instance it looks for a file from yesterday and no older than that.
I used stat command to check for file information:
... (6 Replies)
Discussion started by: DallasT
6 Replies
7. Shell Programming and Scripting
Hi All,
Can anybody help me to get the yesterdays date in perl script.
My script is as below
#!/bin/perl -w
$yes=system("TZ=IST+24 date +%d-%m-%Y");
print "$yes\n";
script is writting the date but with 0
pls see the output below
#!/bin/perl -w
$yes=system("TZ=IST+24 date... (2 Replies)
Discussion started by: jam_prasanna
2 Replies
8. Shell Programming and Scripting
I am serching for a file created today like so:
TODAY=$(date +"%b-%d")
T_FILE=$(find /export/home/dan/ck/reports/t-status-t.txt-$TODAY-05-00-0?.csv)
The file it is searching for is titled:
/export/home/dan/ck/reports/t-status-t.txt-Jun-29-05-00-01
however, I when... (2 Replies)
Discussion started by: ther2000
2 Replies
9. Shell Programming and Scripting
Hi,
I have been trying to get the yesterdays date for the Input date I pass.
I know how to do for the current timestamp but how to do for the input date.
Is there any way I can convert to epoch time and do manipulations and back to human readable date?
Please help
Thanks
... (1 Reply)
Discussion started by: abhi1988sri
1 Replies
10. Shell Programming and Scripting
Hi All,
I need to find the date 19days back from the current date:
eg: if today is 17 March 2013
then the output should be : 26 Feb 2013
Can i do this using date command in Korn Shell?
And also if i need future 15 days date from current date, how to that?
Any help appreciated :)
... (3 Replies)
Discussion started by: Arun Mishra
3 Replies
DATE(1) General Commands Manual DATE(1)
NAME
date - print or set the date and time
SYNOPSIS
date [-qsu] [[MMDDYY]hhmm[ss]] [+format]
OPTIONS
-q Read the date from stdin
-s Set the time (implicit for -q or a date string)
-u Print the date as GMT
-t Use this number of seconds instead of current time
EXAMPLES
date # Print the date and time
date 0221921610 # Set date to Feb 21, 1992 at 4:10 p.m.
DESCRIPTION
With the -q flag or a numeric argument, date sets the GMT time and date. MMDDYY refers to the month, day, and year; hhmmss refers to the
hour, minute and second. Each of the six fields must be exactly two digits, no more and no less. date always display the date and time,
with the default format for the system. The -u flag request GMT time instead of local time. A format may be specified with a + followed
by a printf-like string with the following options:
%% % character
%A Name of the day
%B Name of the month
%D mm/dd/yy
%H Decimal hour on 2 digits
%I Decimal hour modulo 12 on 2 digits
%M Decimal minute on 2 digits
%S Decimal seconds on 2 digits
%T HH:MM:SS
%U Decimal week number, Sunday being first day of week
%W Decimal week number, Monday being first day of week
%X Same as %T
%Y Decimal year on 4 digits
%Z Time Zone (if any)
%a Abbreviated name of the day
%b Abbreviated name of the month
%c Appropriate date & time (default format)
%d Decimal day of the month on 2 digits
%e Same as %d, but a space replaces leading 0
%h Same as %b
%j Decimal dey of the year on 3 digits
%m Decimal month on 2 digits
%n Newline character
%p AM or PM
%r 12-hour clock time with AM/PM
%s Number of seconds since the epoch
%t Tab character
%w Decimal day of the week (0=Sunday)
%x Same as %D
%y Decimal year on 2 digits
SEE ALSO
time(2), ctime(3), readclock(8).
DATE(1)