Sponsored Content
Full Discussion: Date Format Problem
Top Forums Shell Programming and Scripting Date Format Problem Post 302972852 by jgt on Wednesday 11th of May 2016 09:10:20 AM
Old 05-11-2016
Code:
#!/usr/bin/bash                                
date=$1                                        
#day=${date:0:2}                               
#mo=${date:3:3}                                
#yr=${date:7:4}                                
day=`echo $date|cut -f1 -d"-"`                 
mo=`echo $date|cut -f2 -d"-"`                  
yr=`echo $date|cut -f3 -d"-"`                  
echo $day $mo $yr                              
months="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"  
i=0                                            
m=0                                            
while [ $i -lt 34 ]                            
do                                             
        if [ "${months:$i:3}" = "$mo" ]        
        then                                   
                m=`expr 1 + $i / 3`            
                i=`expr $i + 35`               
        else                                   
                i=`expr $i + 3`                
        fi                                     
done                                           
if [ $m  -eq 0 ]                               
then                                           
        echo invalid month                     
        exit                                   
fi                                             
numdate=`expr $yr \* 10000 + $m \* 100 + $day` 
echo $numdate

You can decide whether to use cut or substrings to extract the components of the date. Do you always expect 01-MAY-2016, or is 1-MAY-2016 also valid?
There is no check to see if 29-FEB is valid, or whether 31-APR is valid.
This User Gave Thanks to jgt For This Post:
 

10 More Discussions You Might Find Interesting

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

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

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

4. Shell Programming and Scripting

having problem in date format

if ( $opt{ww} ) { my $week = $opt{ww} ? $opt{ww} : $lot_list->{cal}->getWW(); print "\nStarting at $week\n"; while ( $week > 200430 ) { print localtime() . ": Working on $week\n"; my ($start,$end) = $lot_list->getWeekDates($week); print localtime() . ":... (3 Replies)
Discussion started by: vahnski
3 Replies

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

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

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

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

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

10. 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
DATETIME.SUB(3) 							 1							   DATETIME.SUB(3)

DateTime::sub - Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object

       Object oriented style

SYNOPSIS
public DateTime DateTime::sub (DateInterval $interval) DESCRIPTION
Procedural style DateTime date_sub (DateTime $object, DateInterval $interval) Subtracts the specified DateInterval object from the specified DateTime object. PARAMETERS
o $object -Procedural style only: A DateTime object returned by date_create(3). The function modifies this object. o $interval - A DateInterval object RETURN VALUES
Returns the DateTime object for method chaining or FALSE on failure. EXAMPLES
Example #1 DateTime.sub(3) example Object oriented style <?php $date = new DateTime('2000-01-20'); $date->sub(new DateInterval('P10D')); echo $date->format('Y-m-d') . " "; ?> Procedural style <?php $date = date_create('2000-01-20'); date_sub($date, date_interval_create_from_date_string('10 days')); echo date_format($date, 'Y-m-d'); ?> The above examples will output: 2000-01-10 Example #2 Further DateTime.sub(3) examples <?php $date = new DateTime('2000-01-20'); $date->sub(new DateInterval('PT10H30S')); echo $date->format('Y-m-d H:i:s') . " "; $date = new DateTime('2000-01-20'); $date->sub(new DateInterval('P7Y5M4DT4H3M2S')); echo $date->format('Y-m-d H:i:s') . " "; ?> The above example will output: 2000-01-19 13:59:30 1992-08-15 19:56:58 Example #3 Beware when subtracting months <?php $date = new DateTime('2001-04-30'); $interval = new DateInterval('P1M'); $date->sub($interval); echo $date->format('Y-m-d') . " "; $date->sub($interval); echo $date->format('Y-m-d') . " "; ?> The above example will output: 2001-03-30 2001-03-02 NOTES
DateTime.modify(3) is an alternative when using PHP 5.2. SEE ALSO
DateTime.add(3), DateTime.diff(3), DateTime.modify(3). PHP Documentation Group DATETIME.SUB(3)
All times are GMT -4. The time now is 10:54 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy