Change Date Format


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Change Date Format
# 1  
Old 06-15-2011
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...

start_date=May122011

here i want to change the start_date in to 20110512

start_date=20110512

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

It seems very silly
thanks&regards,
venkat.
# 2  
Old 06-15-2011
Hi,

you'll probably find what you're after in the FAQ: https://www.unix.com/answers-frequent...rithmetic.html

but in case you've already looked, what have you tried already, and what OS are you using ?
# 3  
Old 06-15-2011
You can do something like that :
Code:
start_date=May122011
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;
                        exit;
                      }
              '
            )

Jean-Pierre.
# 4  
Old 06-16-2011
Bug

Hi,

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..

Smilie
# 5  
Old 06-16-2011
Please give us more infos about the error.
Works fine for me (on Solaris 10) :
Code:
$ 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
20110512
$

# 6  
Old 06-16-2011
Hi,

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..
Code:
#! /bin/sh
start_date=May122011
 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;
 exit;
}
'`
 echo $New_date

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

Thanks & regards,
venkat. Smilie
Smilie

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

Hi,
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
Login or Register to Ask a Question

Previous Thread | Next Thread

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
Login or Register to Ask a Question