Visit Our UNIX and Linux User Community

Date format - Shell scripting gurus please help

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Date format - Shell scripting gurus please help
# 1  
Old 02-01-2006
Date format - Shell scripting gurus please help

I have the following script (from this forum) to calculate yesterdays date.
However the format of the date that is output is yyyymd if the resultant date is single digit or the resultant month is a single digit month ( 01 - 09 ). How can I get the output to show the date in the following format yyyymmdd always instead of yyyymd

Below is the script:
date '+%Y %m %d' |#echo here shows date in the yyyymmdd format
read YEAR MONTH DAY #echo here shows date in the yyyymmdd format
DAY1=`expr "$DAY" - 1`
case "$DAY1" in
MONTH=`expr "$MONTH" - 1`
echo $MONTH
case "$MONTH" in
YEAR=`expr "$YEAR" - 1`
DAY1=`cal $MONTH $YEAR | grep . | fmt -1 | tail -1`
DAY2=`expr "$DAY1" - 1`
echo $DAY1 # shows date in yyyymdd format if DAY1 is 200612 instead of 20060102
echo $DAY2 # shows date in yyyymdd format if DAY2 is 200611 instead of 20060101

regards, m
# 2  
Old 02-01-2006
Add a little if condition before you expr to check if the resulting date is between 1 -9 and if it is then add a 0 as prefix of the $DAY variable
# 3  
Old 02-01-2006
In ksh,
typeset -Z2 MONTH DAY
# 4  
Old 02-02-2006
Hi ,
have u used following command

date -d "yesterday" '+%Y%m%d'

Previous Thread | Next Thread
Test Your Knowledge in Computers #1001
Difficulty: Medium
Grace Brewster Murray Hopper was an American computer scientist and United States Navy rear admiral who found a moth in a computer stuck in a relay in 1947 and was later referred to as "Grandma COBOL" for her pioneering work in machine-independent programming languages.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash Scripting with date format conversion

I have a script below and wanted to change the output into three different file format (3 separate script) #!bin/bash #input file format postwrf_d01_20131206_0600_f08400.grb2 #postwrf_d01_YYYYMMDD_ZZZZ_f0HHHH.grb2 #zzzz= 0000,0600,1200,1800 (in UTC) #HHHH=00000,00600,01200,01800 ..ect (in... (1 Reply)
Discussion started by: cumulus_255
1 Replies

2. UNIX for Dummies Questions & Answers

Rename all Files in a UNIX Directory from one date format to another date format

Hi Unix Gurus, I would like to rename several files in a Unix Directory . The filenames can have more than 1 underscore ( _ ) and the last underscore is always followed by a date in the format mmddyyyy. The Extension of the files can be .txt or .pdf or .xls etc and is case insensitive ie... (1 Reply)
Discussion started by: pchegoor
1 Replies

3. Shell Programming and Scripting

Shell Scripting Date manipulation

Hi Experts, i have date as inputdate=01/01/2013,how to get the previous date from this date and also first day's date of the month. example: inputdate=01/06/2013 previousdate=31/05/2013 firstdate=01/05/2013 how can i get solution to this. my unix is not supporting GNU Dates ... (0 Replies)
Discussion started by: learner24
0 Replies

4. Shell Programming and Scripting

Change date format in shell script

Plz help me To display date in the mm/dd/yyyy. Eg. if date is 28-09-2012 the output of the shell script should be date 09/28/2012. (1 Reply)
Discussion started by: shivasaini
1 Replies

5. UNIX for Dummies Questions & Answers

Shell Scripts - shows today’s date and time in a better format than ‘date’ (Uses positional paramete

Hello, I am trying to show today's date and time in a better format than ‘date' (Using positional parameters). I found a command mktime and am wondering if this is the best command to use or will this also show me the time elapse since 1/30/70? Any help would be greatly appreciated, Thanks... (3 Replies)
Discussion started by: citizencro
3 Replies

6. Shell Programming and Scripting

How to increment a user defined date value in the DATE format itself using shell script?

I need to increment a date value through shell script. Input value consist of start date and end date in DATE format of unix. For eg. I need increment a date value of 1/1/09 to 31/12/09 i.e for a whole yr. The output must look like 1/1/09 2/2/09 . . . 31/1/09 . . 1/2/09 . 28/2/09... (1 Reply)
Discussion started by: sunil087
1 Replies

7. UNIX for Dummies Questions & Answers

Changing from Excel date format to MySQL date format

I have a list of dates in the following format: mm/dd/yyyy and want to change these to the MySQL standard format: yyyy-mm-dd. The dates in the original file may or may not be zero padded, so April is sometimes "04" and other times simply "4". This is what I use to change the format: sed -i '' -e... (2 Replies)
Discussion started by: figaro
2 Replies

8. Shell Programming and Scripting

convert date format to mysql date format in log file

I have a comma delimited log file which has the date as MM/DD/YY in the 2nd column, and HH:MM:SS in the 3rd column. I need to change the date format to YYYY-MM-DD and merge it with the the time HH:MM:SS. How will I got about this? Sample input 02/27/09,23:52:31 02/27/09,23:52:52... (3 Replies)
Discussion started by: hazno
3 Replies

9. Shell Programming and Scripting

Date Format Does not work in Shell

I'm am able to format the date in the unix prompt using NOW=$(date +"%d%m%y"). However, when i put the same format into a shell script, it errors out with the followign. sintax error on line 4: `NOW=$' unexpected. #!/bin/ksh EXP_LOC=/u02/oradata/exports NOW=$(date +"%d%m%y") ... (8 Replies)
Discussion started by: mrx1350
8 Replies

10. AIX

convert date in lilian format for shell (AIX)

hello ! can so help me ? i'm writting a shell srcipt ( UNIX AIX) and I'd like to convert a date as 20041108 in lilian format. thanks so much (2 Replies)
Discussion started by: chocolate
2 Replies

Featured Tech Videos