date format


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers date format
# 1  
Old 07-26-2012
date format

i want to format the date is like as 'YYYYMMDD'

the date is coming from another variable

how to format the date
# 2  
Old 07-26-2012
A couple of questions that might elicit a more useful response:
  1. What format is the date in the other variable ?
  2. What language/shell are you using?
# 3  
Old 07-26-2012
1. the other format is DD-MON-YYYY
2. yes, i am using korn shell script
# 4  
Old 07-26-2012
Well, not sure of array handling in ksh, but the following works under ksh:
Code:
$  echo $var
26-Jul-2012
$ perl -e '%months=qw(Jan 01 Feb 02 Mar 03 Apr 04 May 05 Jun 06 Jul 07 Aug 08 Sep 09 Oct 10 Nov 11 Dec 12); 
> ($day,$mon,$year)=($ARGV[0]=~/(\d+)-(\w+)-(\d+)/) ;
>print $year,$months{$mon},$day,"\n";' $var  
20120726

# 5  
Old 07-29-2012
more easier way using bash.

Code:
$ cat formdate

#!/usr/bin/bash
var=26-JUL-2012
newvar=$(date --d=$var +'%Y%m%d')
echo $newvar

Code:
$ ./formdate
20120726

# 6  
Old 07-29-2012
Quote:
Originally Posted by Irishboy24
more easier way using bash.

Code:
$ cat formdate

#!/usr/bin/bash
var=26-JUL-2012
newvar=$(date --d=$var +'%Y%m%d')
echo $newvar

Code:
$ ./formdate
20120726

That is using a feature of the date utility on your system; not a feature of bash. On systems that don't have the --d option to date, the following ksh
script should work:
Code:
cat formdate

#!/bin/ksh
# input argument format MM-<Abbreviated_Month>-YYYY
# output format YYYYMMDD
typeset -A month
month=( [JAN]=01  [FEB]=02  [MAR]=03  [APR]=04  [MAY]=05  [JUN]=06
	 [JUL]=07  [AUG]=08  [SEP]=09  [OCT]=10  [NOV]=11  [DEC]=12 )
while [ $# -gt 0 ]
do
	abmon=${1%-*}
	abmon=${abmon#*-}
	printf "%s%s%s\n" "${1##*-}" "${month[$abmon]}" "${1%%-*}"
	shift
done

Code:
formdate 26-JUL-2012 01-JAN-2000 31-DEC-2013
20120726
20000101
20131231

# 7  
Old 08-01-2012
Bug

date '+%m %d %c' | awk '{print $7,$1,$2}'| tr -d ' '
20120801
simpler way to do that i hope so
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Date: invalid date trying to set Linux date in specific format

i try to set linux date & time in specific format but it keep giving me error Example : date "+%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01" or date +"%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01" keep giving me this error : date: invalid date ‘19-01-2017 00:05:01' Please use CODE tags... (7 Replies)
Discussion started by: umen
7 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

finding date numeral from file and check the validity of date format

hi there I have file names in different format as below triss_20111117_fxcb.csv triss_fxcb_20111117.csv xpnl_hypo_reu_miplvdone_11172011.csv xpnl_hypo_reu_miplvdone_11-17-2011.csv xpnl_hypo_reu_miplvdone_20111117.csv xpnl_hypo_reu_miplvdone_20111117xfb.csv... (10 Replies)
Discussion started by: manas_ranjan
10 Replies

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

5. Shell Programming and Scripting

Date after 5 days from current date in YYYYMMDD format

Hello Experts, How do i get date after 5 days from current date in YYYYMMDD format? How do you compare date in YYYYMMDD format? Thanks (8 Replies)
Discussion started by: needyourhelp10
8 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. UNIX for Advanced & Expert Users

date issue-find prevoius date in a patricular format

Hi , I have written a shell script that takes the current date on the server and stores it in a file. echo get /usr/home/data-`date '+%Y%d'`.xml> /usr/local/sandeep/GetFILE.ini I call this GetFILE.ini file from an sftp program to fetch a file from /usr/home/ as location. The file is in... (3 Replies)
Discussion started by: bsandeep_80
3 Replies

10. Shell Programming and Scripting

convert mmddyy date format to ccyyddd format??

hi, for reading a cobol indexed file i need to convert "mmddyy" date format to "ccyyddd" format. i checked the datecalc and other scripts but couldnt modify them to cater to my need:(... The datecalc gives an output which i believe is the total days till that date, but i want to convert it... (2 Replies)
Discussion started by: Bhups
2 Replies
Login or Register to Ask a Question