Sponsored Content
Full Discussion: UNIX Date Formatting
Top Forums Shell Programming and Scripting UNIX Date Formatting Post 302910063 by Don Cragun on Tuesday 22nd of July 2014 08:03:59 AM
Old 07-22-2014
We think you didn't try anything because you didn't show us that you tried anything. If you show us what you have tried, we can often point out a very minor fix that will make your code work. Why not give us a starting point instead of making us start from scratch? Why not help us help you?

What you want is easy to do it for any given date format. It is not possible to extract DD from MM/DD/YYYY and DD/MM/YYYY or MMDDYYYY and DDMMYYYY and YYYYMMDD and YYYYDDMM since there is no way to determine whether 20122001 was intended to be January 20, 2012 or December 20, 2001 or whether 20140102 was intended to be January 2, 2014 or February 1, 2014.

As long as you have a shell that performs POSIX required parameter expansions, for the formats you specified you could use:
Code:
var="YYYY-MM-DD"
dd=${var##*-}
printf 'var=%s, dd=%s, using %s\n' "$var" "$dd" 'dd=${var##*-}'
var=DDMMYYYY
dd=${var%??????}
printf 'var=%s, dd=%s, using %s\n' "$var" "$dd" 'dd=${var%??????}'
var=DD/MM/YYYY
dd=${var%%/*}
printf 'var=%s, dd=%s, using %s\n' "$var" "$dd" 'dd=${var%%/*}'
var=YYYY/MM/DD
dd=${var##*/}
printf 'var=%s, dd=%s, using %s\n' "$var" "$dd" 'dd=${var##*/}'

which prints:
Code:
var=YYYY-MM-DD, dd=DD, using dd=${var##*-}
var=DDMMYYYY, dd=DD, using dd=${var%??????}
var=DD/MM/YYYY, dd=DD, using dd=${var%%/*}
var=YYYY/MM/DD, dd=DD, using dd=${var##*/}

These 2 Users Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Formatting date

i need date in the following format December 14, 2005. With date +"%b %d, %Y" command i am getting the following output :- Dec 14, 2005. can anyone pls tell me how to get the full month name (2 Replies)
Discussion started by: radhika03
2 Replies

2. Shell Programming and Scripting

date formatting

Date format MM/DD/YYYY required is YYYYMMDD, I tried using sed but could not get it any help please. (4 Replies)
Discussion started by: mgirinath
4 Replies

3. UNIX for Dummies Questions & Answers

Date formatting

Running bash how do I input the date in the command line like 3/20/90 and get an output formmated like March, 20 1990. (8 Replies)
Discussion started by: knc9233
8 Replies

4. Shell Programming and Scripting

date formatting

Hi i need to have the date in the format like dd-mon-yyyy my script goes like this #!/usr/bin/bash for f in /space/can /home/lbs/current/externalcdrbackup/L_CDR_Configuration/1/200903122* ; do awk '{sum++;}END{for(i in sum) {print d,h,m,i, sum}}' "d=$(date +'%m-%d-%Y')" "h=$(date +'%H')"... (8 Replies)
Discussion started by: aemunathan
8 Replies

5. OS X (Apple)

Date Formatting, etc.

Hi - I'm using GeekTool to customize my desktop in OS X 10.5.8 I'm a complete novice as far as UNIX commands, just know enough to be dangerous. I have a command entered as a Shell to display my events from iCal: This makes my events show something like this: While this is... (1 Reply)
Discussion started by: patricksprague
1 Replies

6. Shell Programming and Scripting

Formatting a date

Hi, the date value retrieved by a parameter from the table is of the format dd/mm/yyyy. please let me know how to convert this to YYYYMMDD using sed thanks (4 Replies)
Discussion started by: swasid
4 Replies

7. Shell Programming and Scripting

Formatting date

Hi all Y=`date +'%Y'` M=`date +'%m'` D=`date +'%d'` if && ;then yesterday=$Y$M`expr $D + 30` echo $yesterday else if && ; then yesterday=$Y$M`expr $D + 29` echo $yesterday else if ; then yesterday=$Y$M`expr $D + 27` echo $yesterday else yesterday=$Y$M`expr $D - 1` echo... (8 Replies)
Discussion started by: ultimatix
8 Replies

8. Shell Programming and Scripting

Formatting date time in unix

while read l do vTimeCreated=`perl -e '@d=localtime ((stat(shift))); printf "%02d-%02d-%04d %02d:% 02d:%02d\n", $d,$d+1,$d+1900,$d,$d,$d' ${l}` echo "${l} || ${vTimeCreated}" >> ${fPrefx}_Output_Files_${vDate}.txt done < servername.txt Using the above code to format date time for each of the... (0 Replies)
Discussion started by: HeadBang
0 Replies

9. UNIX for Dummies Questions & Answers

Formatting date time in unix using perl breaks

while read l do vTimeCreated=`perl -e '@d=localtime ((stat(shift))); printf "%02d-%02d-%04d %02d:% 02d:%02d\n", $d,$d+1,$d+1900,$d,$d,$d' ${l}` echo "${l} || ${vTimeCreated}" >> ${fPrefx}_Output_Files_${vDate}.txt done < servername.txt Using the above code to format date time for each of... (5 Replies)
Discussion started by: HeadBang
5 Replies

10. UNIX for Dummies Questions & Answers

Need Date Formatting help

Hi, How can i store the date + time from the output of the ls command in loop in a variable date1? -rw-rw---- 1 user1 admin 500002 Jan 2 21:24 P002607.cssI then want to convert Jan 2 21:24 to this date format 2014-01-02 21:24:00 and save it in date2 variable. Then i would like to add... (1 Reply)
Discussion started by: mohtashims
1 Replies
WDDX_SERIALIZE_VARS(3)							 1						    WDDX_SERIALIZE_VARS(3)

wddx_serialize_vars - Serialize variables into a WDDX packet

SYNOPSIS
string wddx_serialize_vars (mixed $var_name, [mixed $...]) DESCRIPTION
Creates a WDDX packet with a structure that contains the serialized representation of the passed variables. PARAMETERS
This function takes a variable number of parameters. o $var_name - Can be either a string naming a variable or an array containing strings naming the variables or another array, etc. o $... - RETURN VALUES
Returns the WDDX packet, or FALSE on error. EXAMPLES
Example #1 wddx_serialize_vars(3) example <?php $a = 1; $b = 5.5; $c = array("blue", "orange", "violet"); $d = "colors"; $clvars = array("c", "d"); echo wddx_serialize_vars("a", "b", $clvars); ?> The above example will output: <wddxPacket version='1.0'><header/><data><struct><var name='a'><number>1</number></var> <var name='b'><number>5.5</number></var><var name='c'><array length='3'> <string>blue</string><string>orange</string><string>violet</string></array></var> <var name='d'><string>colors</string></var></struct></data></wddxPacket> PHP Documentation Group WDDX_SERIALIZE_VARS(3)
All times are GMT -4. The time now is 06:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy