Sponsored Content
Full Discussion: Date Subtraction in KSH
Top Forums Shell Programming and Scripting Date Subtraction in KSH Post 65071 by mharley on Thursday 3rd of March 2005 10:02:10 AM
Old 03-03-2005
Date Subtraction in KSH

I need to figure out the numeric representation of the previous month (in an automated monthly-running script) so that I may append it to a filename. I have tried statements such as
Code:
variable=`date +%m -1`

(and several variations) but with no success. I have also tried simply assigning the value of `date +%m` to the variable, and then manipulating the variable directly, also with no success. What format is the date stored in (string/character or integer)? I am assuming that simply subtracting 1 from the month could cause problems, since if it was January this would cause an error. So I would also need to use the month in a comparison statement to get around this (I have the same problem here). Is there no easy way to accomplish this?

Last edited by mharley; 03-03-2005 at 11:13 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

subtraction from date

hi gurus! i realize that my question shows my stupidness, but i need your help! i have: s_date=`date +%m-%d-%Y_%I%p` variable and i need the same, but minus one hour.. what i made: s_date=time(`date +%m-%d-%Y_%I%p`) - 3600 but i'm getting: daily_exports.sh: line 20: syntax error near... (4 Replies)
Discussion started by: MarGur
4 Replies

2. Linux

date subtraction(URGENT)

Hi all, I need the date subtraction fuctionality using shell commands. For example: date1:Wed Apr 5 08:35:21 IST 2006 date2:Tue Apr 4 10:35:44 IST 2006 I need the date subtraction result like " 22 hours 23 seconds". Please guide me to complete this task. Can you please help me ASAP. ... (3 Replies)
Discussion started by: uday123
3 Replies

3. Shell Programming and Scripting

Date subtraction

hi, i set up a script on my server to do a particular task once files from an external system are ftpd in the format compaq_20100110 (YYDDMM). Interestingly, the source of ftp is sending the files in the format e.g 20100109 i.e. previous date and for some reason this fails.kindly see my script... (2 Replies)
Discussion started by: bigtejus
2 Replies

4. Shell Programming and Scripting

Date Subtraction with time.

HI gurus... I have a PERL file that help me extract the date and time of the file. The format of this is: yyyymmddhhmmss. Example: 20100430070935 (April 30 2010 07:09:35) How can i subtract the acquired time from system's time..?? The answer... (6 Replies)
Discussion started by: bankimmehta
6 Replies

5. Shell Programming and Scripting

KSH – Shell subtraction

Hello I am using a ksh shell on solaris 9. I am looking for a way to subtract two files and get a number The first file contains only lines LINE_A LINE_B LINE_C The second file contain one number, the number of the line Example 1 So the idea is to... (1 Reply)
Discussion started by: Aswex
1 Replies

6. Shell Programming and Scripting

ksh compare dates INSIDE a file (ie date A is > date B)

In KSH, I am pasting 2 almost identical files together and each one has a date and time on each line. I need to determine if the first instance of the date/time is greater than the 2nd instance of the date/time. If the first instance is greater, I just need to echo that line. I thought I would... (4 Replies)
Discussion started by: right_coaster
4 Replies

7. UNIX for Dummies Questions & Answers

Unable to convert date into no. using date -d +%s syntax in ksh shell

hi friends, I m trying to write a script which compares to dates. for this i am converting dates into no using synatx as below v2=`date | awk '{print $2,$3,$4}'` v3=`date +%s -d "$v2"` this syntax is working in bash shell ,but fails in ksh shell. please suggest on this. (12 Replies)
Discussion started by: Jcpratap
12 Replies

8. Shell Programming and Scripting

Need Help on date subtraction

I have dates as follows in a file 20121029135649 20121029135721 20121030091540 20121030093420 20121030094340 20121030095427 20121030095856 20121030100104 20121030100251 All these dates are in sorted order. I need to find out the difference between the dates as follows 2nd row... (6 Replies)
Discussion started by: meetsriharsha
6 Replies

9. UNIX for Dummies Questions & Answers

Date Subtraction

Hello All, I am a newbie to unix shell scripting and need to write a script that displays the difference between two variables that stores date value. For example, F1=`ls -ltr file1* | tail -1 |tr -s ' ' |cut -d' ' -f6,7,8` F2=`ls -ltr file2* | tail -1 |tr -s ' ' |cut -d' ' -f6,7,8` F1... (3 Replies)
Discussion started by: priyaa2010
3 Replies

10. UNIX for Dummies Questions & Answers

Print start date to end date, given $1 & $2 in ksh

Dear all, I have an user passing 2 parameter 31/03/2015 and 02/04/2015 to a ksh script. How to print the start date to end date. Expected output is : 31/03/2015 01/04/2015 02/04/2015 Note : 1. Im using aix and ksh 2. I have tried to convert the given input into a date, didnt... (0 Replies)
Discussion started by: mr.rajaravi
0 Replies
DATEINTERVAL.FORMAT(3)							 1						    DATEINTERVAL.FORMAT(3)

DateInterval::format - Formats the interval

SYNOPSIS
public string DateInterval::format (string $format) DESCRIPTION
Formats the interval. PARAMETERS
o $format - The following characters are recognized in the $format parameter string. Each format character must be prefixed by a percent sign ( %). +------------------+--------------------------------------+---+ |$format character | | | | | | | | | Description | | | | | | | | Example values | | | | | | +------------------+--------------------------------------+---+ | | | | | % | | | | | | | | | Literal % | | | | | | | | | | | | % | | | | | | | | | | | Y | | | | | | | | | Years, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03 | | | | | | | | | | | y | | | | | | | | | Years, numeric | | | | | | | | | | | | 1, 3 | | | | | | | | | | | M | | | | | | | | | Months, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 12 | | | | | | | | | | | m | | | | | | | | | Months, numeric | | | | | | | | | | | | 1, 3, 12 | | | | | | | | | | | D | | | | | | | | | Days, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 31 | | | | | | | | | | | d | | | | | | | | | Days, numeric | | | | | | | | | | | | 1, 3, 31 | | | | | | | | | | | a | | | | | | | | | Total number of days as a result of | | | | a DateTime::diff or (unknown) other- | | | | wise | | | | | | | | | | | | 4, 18, 8123 | | | | | | | | | | | H | | | | | | | | | Hours, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 23 | | | | | | | | | | | h | | | | | | | | | Hours, numeric | | | | | | | | | | | | 1, 3, 23 | | | | | | | | | | | I | | | | | | | | | Minutes, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 59 | | | | | | | | | | | i | | | | | | | | | Minutes, numeric | | | | | | | | | | | | 1, 3, 59 | | | | | | | | | | | S | | | | | | | | | Seconds, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 57 | | | | | | | | | | | s | | | | | | | | | Seconds, numeric | | | | | | | | | | | | 1, 3, 57 | | | | | | | | | | | R | | | | | | | | | Sign " -" when negative, " +" when | | | | positive | | | | | | | | | | | | -, + | | | | | | | | | | | r | | | | | | | | | Sign " -" when negative, empty when | | | | positive | | | | | | | | | | | | -, | | | | | | +------------------+--------------------------------------+---+ RETURN VALUES
Returns the formatted interval. NOTES
Note The DateInterval::format method does not recalculate carry over points in time strings nor in date segments. This is expected because it is not possible to overflow values like "32 days" which could be interpreted as anything from "1 month and 4 days" to "1 month and 1 day". EXAMPLES
Example #1 DateInterval example <?php $interval = new DateInterval('P2Y4DT6H8M'); echo $interval->format('%d days'); ?> The above example will output: 4 days Example #2 DateInterval and carry over points <?php $interval = new DateInterval('P32D'); echo $interval->format('%d days'); ?> The above example will output: 32 days Example #3 DateInterval and DateTime::diff with the %a and %d modifiers <?php $january = new DateTime('2010-01-01'); $february = new DateTime('2010-02-01'); $interval = $february->diff($january); // %a will output the total number of days. echo $interval->format('%a total days')." "; // While %d will only output the number of days not already covered by the // month. echo $interval->format('%m month, %d days'); ?> The above example will output: 31 total days 1 month, 0 days SEE ALSO
DateTime::diff. PHP Documentation Group DATEINTERVAL.FORMAT(3)
All times are GMT -4. The time now is 08:08 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy