Visit The New, Modern Unix Linux Community

Change Date Format

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Change Date Format
# 1  
Bug Change Date Format

Hi Guys,

I had a scenario like this..
It seems very silly...dont think it as a home work question.....Smilie

i tried it many ways but i didn't achieve this...


here i want to change the start_date in to 20110512


tell me how can we achive this.....Smilie

It seems very silly
# 2  

you'll probably find what you're after in the FAQ:

but in case you've already looked, what have you tried already, and what OS are you using ?
# 3  
You can do something like that :
start_date=$( nawk -v Date=${start_date} '
                BEGIN { Months="   JanFebMarApeMayJunJulSepOctNovDec"
                        year  = substr(Date, 6, 4) + 0;
                        day   = substr(Date, 4, 2) + 0;
                        month = index(Months, substr(Date, 1, 3)) / 3;
                        printf "%04d%02d%02d", year, month, day;

# 4  


Thanks for your reply..

The script u have gine is not working..
i'm not familiar with AWk can u please explain the script..

i'm using solaris 10..

# 5  
Please give us more infos about the error.
Works fine for me (on Solaris 10) :
$ uname -a
SunOS xxxxxxxx 5.10 Generic_120011-14 sun4u sparc SUNW,Sun-Fire-V440
$ start_date=May122011
$ start_date=$( nawk -v Date=${start_date} '
Shell>                 BEGIN { Months="   JanFebMarApeMayJunJulSepOctNovDec"
Shell>                         year  = substr(Date, 6, 4) + 0;
Shell>                         day   = substr(Date, 4, 2) + 0;
Shell>                         month = index(Months, substr(Date, 1, 3)) / 3;
Shell>                         printf "%04d%02d%02d", year, month, day;
Shell>                         exit;
Shell>                       }
Shell>               '
Shell>             )
$ echo $start_date

# 6  

I got a problem here..

month = index(Months, substr(Date, 1, 3)) this lcommand is giving the value as 13

so the output in the script is vary...

i found the following solution for this but it is just as managable..
#! /bin/sh
 New_date=` nawk -v Date=${start_date} '
 BEGIN { Months="JanFebMarAprMayJunJulAugSepOctNovDec"
 year = substr(Date, 6, 4) + 0;
 day = substr(Date, 4, 2) + 0;
 month = (index(Months, substr(Date, 1, 3))+2)/3;
 printf "%04d%02d%02d", year, month, day;
 echo $New_date

Plz check this. Correct me if any thing wrong..

Thanks & regards,
venkat. Smilie

---------- Post updated at 07:48 AM ---------- Previous update was at 07:45 AM ----------

sorry for the previous reply..
i understood your script..

i unfortunately removed the spaces before months..
now i got it..

good work man..

thanq very much... Smilie

Last edited by Franklin52; 06-16-2011 at 09:54 AM.. Reason: Please use code tags

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #441
Difficulty: Easy
"Hotel California" by the Eagles is a song about a super A.I. who goes rouge and parties all day and night.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Change the date format

Hi, I was looking for a script to change the date from one format to other. A search in the forum gave me the below script as a result. #! /bin/ksh format=YYYYMMDD YEAR=${format%????} DAY=${format#??????} MON=${format#$YEAR} MON=${MON%$DAY} echo $MON/$DAY/$YEAR I got it... (2 Replies)
Discussion started by: prithvirao17
2 Replies

2. Shell Programming and Scripting

Change the date format

Hi all, I have a file that every line starts with the date and time. The format is like YYYYMMDDHHMM and I woulk like to change it to MM/DD/YY<space>HH:MM. I tried to figure out a way to do it with sed, but I don't know how I could reorganize the digits of the first format. Does anyone have any... (1 Reply)
Discussion started by: geovas
1 Replies

3. Shell Programming and Scripting

change date format

Hi, I have the variable "$date_update" in that form: 2011-12-31T13:00:09Z and I would like to change it to 31/12/2011 13:00:09 (Date and Time separated by a blank). Does anyone has a simple solution for that? (using Korn Shell) Cheers Jurgen (4 Replies)
Discussion started by: jurgen
4 Replies

4. Shell Programming and Scripting

Date format change

Dear Friends, Need your help once again, I have a variable ( e.g. ${i}) whoch has date in MM/DD/YYYY (E.g. 12/31/2011) format. I want to change it to DD/MM/YYYY (e.g. 31/12/2011) format. Request you to guide me as we are unable to do the same. Thanks in advance Anu. (1 Reply)
Discussion started by: anushree.a
1 Replies

5. Shell Programming and Scripting

Date Format Change

Hi, Please can I have some command to get yesterday in YYMMDD format? This will be used in ksh Thanks, (2 Replies)
Discussion started by: smalya
2 Replies

6. Shell Programming and Scripting

Change date format

Hi guys, I have a text file with lots of lines like this: MCOGT23R27815 27/07/07 27/05/09 SO733AM0235 30/11/07 30/11/10 NL123403N 04/03/08 04/03/11 0747AM7474 04/04/08 04/04/11 I want to change each line so the date format looks like this: MCOGT23R27815 07/07/27 09/05/27 ... (7 Replies)
Discussion started by: Tornado
7 Replies

7. Shell Programming and Scripting

Date Format Change

Hi I have a date format in a variable as Mon Jan 11 03:35:59 2010. how do i change it to YYYYMMDD format (3 Replies)
Discussion started by: keerthan
3 Replies

8. Shell Programming and Scripting

How to Change the Format of a Date

Hi All, this is my second post, last post reply was very helpful. I have a data that has date in DD/MM/YYYY (07/11/2008) format i want to replace the backslash by a dot(.) so that my awk script can read it inside the C shell script that i have written. i want to change 07/11/2008 to... (3 Replies)
Discussion started by: asirohi
3 Replies

9. UNIX for Advanced & Expert Users

Change date format

I know the command date +"%Y%m%d" can change today's date to digit format as below . $date +"%Y%m%d" 20071217 it works fine . now I want to do it back . If I have a file like below, (in the file , there are three lines, and each line have ; sign , after the ; sign is the date ) , I... (4 Replies)
Discussion started by: ust
4 Replies

10. UNIX for Dummies Questions & Answers

How to change it to the date format

Hi, I want to know how to change this string to date format 20061102122042 to 02-11-2006 12:20:42 or 02-Nov-2006 12:20:42 Please let me know at the earliest.Thanks in advance. Regards, Preetham R. (3 Replies)
Discussion started by: preethgideon
3 Replies

Featured Tech Videos