Sponsored Content
Top Forums Shell Programming and Scripting Shell Script to Loop through Quarter dates Post 303002301 by jgt on Tuesday 22nd of August 2017 10:19:13 AM
Old 08-22-2017
I would be inclined to create a data file rather than a lot of arithmetic.
Code:
1 20170701 20170930
2 20171001 20171231
3 20180101 20180331
4 20180401 20180630

Then you read this file for the number of quarters you are reporting. This is also way easier to modify if the company gets sold and changes its year end.

---------- Post updated 08-22-17 at 10:19 AM ---------- Previous update was 08-21-17 at 10:51 PM ----------

Code:
today=$(date +%Y%m%d)
while read quarter start end
do
if [ $start -ge $today ]
then
   exit
fi
if [ $today -gt $end ]
then
  let new_end=$today-$(date +%d)+1        #first day of month
  let new_end=$(date +%Y%m%d --date="$new_end yesterday")   #last day of previous month
fi
if [ $new_end -le $start ]
then
   exit  
else 
   end=$new_end
fi
do sql with $quarter $start $end
done <quarter_file

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to compare the dates in shell script

Hi How to compare created or modified date of two files help needed thanks Vajiramani :) (9 Replies)
Discussion started by: vaji
9 Replies

2. Shell Programming and Scripting

Generate quarter dates with begin date and end date

Hi All, I am trying to generate quarter dates with user giving input as begin date and end date. Example: Input by user: begin_date = "2009-01-01" end_date = 2010-04-30" required output: 2009-01-01 2009-03-31 09Q01 2009-04-01 2009-06-30 09Q02 . . till 2010-01-01 2010-03-31 10Q01 ... (9 Replies)
Discussion started by: sol_nov
9 Replies

3. Shell Programming and Scripting

Difference of 2 dates in shell script

Hi., After retrieving values from DB I have two datestamps in format: 12/01/2010:05:40:00 AM and 12/01/2010:06:00:00 PM. general time format: MM/DD/YYYY:HH:MM:SS AM or PM Any quick solution to get the difference of two in the format : 1 day(s) 12:20:00 Thanks., (6 Replies)
Discussion started by: IND123
6 Replies

4. UNIX for Dummies Questions & Answers

Find Quarter Start and End Dates

Dear Members, Depending on the current date i should find out the start and end dates of the quarter. ex: Today date is 14-Nov-2011 then Quarter start date should be Oct 1 2011 and Quarter End date should be Dec 31 2011. How can i do this? Thanks Sandeep (1 Reply)
Discussion started by: sandeep_1105
1 Replies

5. Shell Programming and Scripting

append dates going forward from today to certain line in shell script

Hi there, I have a requirement to append dates going forward to a certain line in a file. I'm not sure of how to go about this. Any help will be greatly appreciated. Thanks Slyesco:wall: (2 Replies)
Discussion started by: Slyesco
2 Replies

6. Shell Programming and Scripting

Shell script to calculate difference between 2 dates

shell script to calculate difference between 2 dates (3 Replies)
Discussion started by: gredpurushottam
3 Replies

7. Shell Programming and Scripting

Need Help:Shell Script for Solaris to change the dates in a file by one week

I have to increase the date by one week in an input when script is executed in solaris. I was able to acheive this using ksh script that is working in Linux enivironment, when i execute the same script in Solaris i am getting below error: /var/tmp\n\r-> ./script.ksh date: illegal option -- d... (3 Replies)
Discussion started by: sriramanaramoju
3 Replies

8. Shell Programming and Scripting

Shell script to work on dates

Hi Sir/Madam I have a file data.txt like below file_name date_of_creation x 2/10/2012 y 8/11/2010 z 11/3/2013 a 2/10/2013 b 3/10/2013 c ... (4 Replies)
Discussion started by: kumar85shiv
4 Replies

9. Shell Programming and Scripting

Comparing dates in shell script

Hi All, I have a date variable say dt="2014-01-06 07:18:38" Now i need to use this variable to search a log and get the entries which occured after that time. (1 Reply)
Discussion started by: Girish19
1 Replies

10. Linux

How to calculate the quarter end date according to the current date in shell script?

Hi, My question is how to calculate the quarter end date according to the current date in shell script? (2 Replies)
Discussion started by: Divya_1234
2 Replies
GETDATE(3)								 1								GETDATE(3)

getdate - Get date/time information

SYNOPSIS
array getdate ([int $timestamp = time()]) DESCRIPTION
Returns an associative array containing the date information of the $timestamp, or the current local time if no $timestamp is given. PARAMETERS
o $timestamp - The optional $timestamp parameter is an integer Unix timestamp that defaults to the current local time if a $timestamp is not given. In other words, it defaults to the value of time(3). RETURN VALUES
Returns an associative array of information related to the $timestamp. Elements from the returned associative array are as follows: Key elements of the returned associative array +----------+--------------------------------------+---+ | Key | | | | | | | | | Description | | | | | | | | Example returned values | | | | | | +----------+--------------------------------------+---+ | | | | |"seconds" | | | | | | | | | Numeric representation of seconds | | | | | | | | | | | | 0 to 59 | | | | | | | | | | |"minutes" | | | | | | | | | Numeric representation of minutes | | | | | | | | | | | | 0 to 59 | | | | | | | | | | | "hours" | | | | | | | | | Numeric representation of hours | | | | | | | | | | | | 0 to 23 | | | | | | | | | | | "mday" | | | | | | | | | Numeric representation of the day of | | | | the month | | | | | | | | | | | | 1 to 31 | | | | | | | | | | | "wday" | | | | | | | | | Numeric representation of the day of | | | | the week | | | | | | | | | | | | 0 (for Sunday) through 6 (for Satur- | | | | day) | | | | | | | | | | | "mon" | | | | | | | | | Numeric representation of a month | | | | | | | | | | | | 1 through 12 | | | | | | | | | | | "year" | | | | | | | | | A full numeric representation of a | | | | year, 4 digits | | | | | | | | Examples: 1999 or 2003 | | | | | | | | | | | "yday" | | | | | | | | | Numeric representation of the day of | | | | the year | | | | | | | | | | | | 0 through 365 | | | | | | | | | | |"weekday" | | | | | | | | | A full textual representation of the | | | | day of the week | | | | | | | | | | | | Sunday through Saturday | | | | | | | | | | | "month" | | | | | | | | | A full textual representation of a | | | | month, such as January or March | | | | | | | | | | | | January through December | | | | | | | | | | | 0 | | | | | | | | | Seconds since the Unix Epoch, simi- | | | | lar to the values returned by | | | | time(3) and used by date(3). | | | | | | | | System Dependent, typically | | | | -2147483648 through 2147483647. | | | | | | +----------+--------------------------------------+---+ EXAMPLES
Example #1 getdate(3) example <?php $today = getdate(); print_r($today); ?> The above example will output something similar to: Array ( [seconds] => 40 [minutes] => 58 [hours] => 21 [mday] => 17 [wday] => 2 [mon] => 6 [year] => 2003 [yday] => 167 [weekday] => Tuesday [month] => June [0] => 1055901520 ) SEE ALSO
date(3), idate(3), localtime(3), time(3), setlocale(3). PHP Documentation Group GETDATE(3)
All times are GMT -4. The time now is 06:46 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy