10-23-2017
Hi SIMMS7400,
In post #51 in your earlier thread (
Parsing a column of text file - best practices) I gave you code that contains a function (
findSaturdayOnOrBefore()) that finds the 1st Saturday on or before a date given to it as an argument. Since it worked for me when I was testing it and you never said that it didn't work for you, I assumed that it worked for you (although you haven't acknowledged seeing that post).
Can't you use that function to determine the 1st Saturday on or before
10/07/YYYY? Isn't the result returned by that function the first day of a fiscal year for your customer? Can't you then find the first day of the next fiscal year using that function with
10/07/$((YYYY+1)) as the argument. And then, can't you add one week to the first day in a fiscal year in a loop until you hit the 1st week of the next fiscal year saving the 52 or 53 values you get in that loop as the start of the 52 or 53 weeks in that fiscal year?
Why don't you try doing this on your own, show us what you come up with, and let us know if you get stuck?
PS: Is 10/07/2017 the first day of your customer's FY2017 or is it the first day of FY2018?
PPS: Note that we are here to help you learn how to use the tools on your UNIX or UNIX-like system to write code that makes it do what you want it to do. We are not here to act as your unpaid programming staff.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I search how i could do to find if a year (for example 2004, 1989, 2058) has 52 or 53 weeks...
Have you a idea for me please??? (1 Reply)
Discussion started by: Castelior
1 Replies
2. Solaris
Is there any way to find "Number of files" that exists on my solaris parition in the starting of 2009 year ?
I know ctime or mtime will not help and unix wouldnt store creation time.
Only hope i can see ( and i am not sure if that will help ) is that my system is up from last 2 years without... (5 Replies)
Discussion started by: rajwinder
5 Replies
3. Shell Programming and Scripting
Hiii i have a file with data as shown below:
a.dat:
RAO 1900 2 7 0 0 0.00 10.8000 76.8000 10.0 0 0.00 0 6.00 0.00 0.00 0 0.00 6.00 0 NULL
LEE 1901 2 15 0 0 0.00 26.0000 100.0000 0.0 0 0.00 0 0.00 0.00 0.00 0 6.00 6.00 0 NULL
RAO 1901 4... (3 Replies)
Discussion started by: reva
3 Replies
4. Shell Programming and Scripting
My PM has told me to learn shell scrting in 2 weeks , how should I start?:confused::confused::confused::confused: (1 Reply)
Discussion started by: manalisharmabe
1 Replies
5. Shell Programming and Scripting
Hi All,
I have source file
x.txt
0001|0003
0031|0031
0045|0049
My desired output should be:
y.txt
0001
0002
0003
0031
0045
0046
0047 (11 Replies)
Discussion started by: kmsekhar
11 Replies
6. Shell Programming and Scripting
Hi anyone can help?
How to calculate total number of weeks from a specify date, for example, 01 Jan 2012.
Thx! (2 Replies)
Discussion started by: rayray2013
2 Replies
7. Shell Programming and Scripting
Hello,
Using bash script, i need to process the following file:
887,86,,2013-11-06,1,10030,5,2,0,200,,
887,86,,2013-11-05,1,10030,5,2,0,199,,
887,138,,2013-11-06,1,10031,6,2,0,1610612736,,
887,164,,2013-11-06,1,10000,0,2,0,36000,,
and to create a new file such as the below
... (2 Replies)
Discussion started by: JonhyDeep
2 Replies
8. Shell Programming and Scripting
Hello,
I am running under ubuntu18.04
My question is about awk.
inputfile
0wo010011oasasds sdjhsdjh=, u12812888
8jsjkahsjajnsanakn akjskjskj=, suhuhuhwx
kskkxmsnnxsnjxsnjxsnjjnjjdi=, 22878ssssss
Below code adds consecutive numbers when string = is found
run_code:
awk -F'=' -v OFS='='... (4 Replies)
Discussion started by: baris35
4 Replies
9. Web Development
Hi Ravinder,
Could you (and anyone else who wants to help out) check this PHP code and confirm it does what I expect it to do, which is to color a badge based on the weeks a member is active in the latest sequence? I did a cut-paste-change from my "days in sequence" PHP prototype script and it... (6 Replies)
Discussion started by: Neo
6 Replies
10. UNIX for Beginners Questions & Answers
Below are my custom period start and end dates based on a calender, these dates are placed in a file, for each period i need to split into three weeks for each period row, example is given below.
Could you please help out to achieve solution through shell script..
File content:
... (2 Replies)
Discussion started by: nani2019
2 Replies
LEARN ABOUT FREEBSD
calendar
CALENDAR(3) BSD Library Functions Manual CALENDAR(3)
NAME
easterg, easterog, easteroj, gdate, jdate, ndaysg, ndaysj, week, weekday -- Calendar arithmetic for the Christian era
LIBRARY
Calendar Arithmetic Library (libcalendar, -lcalendar)
SYNOPSIS
#include <calendar.h>
struct date *
easterg(int year, struct date *dt);
struct date *
easterog(int year, struct date *dt);
struct date *
easteroj(int year, struct date *dt);
struct date *
gdate(int nd, struct date *dt);
struct date *
jdate(int nd, struct date *dt);
int
ndaysg(struct date *dt);
int
ndaysj(struct date *dt);
int
week(int nd, int *year);
int
weekday(int nd);
DESCRIPTION
These functions provide calendar arithmetic for a large range of years, starting at March 1st, year zero (i.e., 1 B.C.) and ending way beyond
year 100000.
Programs should be linked with -lcalendar.
The functions easterg(), easterog() and easteroj() store the date of Easter Sunday into the structure pointed at by dt and return a pointer
to this structure. The function easterg() assumes Gregorian Calendar (adopted by most western churches after 1582) and the functions
easterog() and easteroj() compute the date of Easter Sunday according to the orthodox rules (Western churches before 1582, Greek and Russian
Orthodox Church until today). The result returned by easterog() is the date in Gregorian Calendar, whereas easteroj() returns the date in
Julian Calendar.
The functions gdate(), jdate(), ndaysg() and ndaysj() provide conversions between the common "year, month, day" notation of a date and the
"number of days" representation, which is better suited for calculations. The days are numbered from March 1st year 1 B.C., starting with
zero, so the number of a day gives the number of days since March 1st, year 1 B.C. The conversions work for nonnegative day numbers only.
The gdate() and jdate() functions store the date corresponding to the day number nd into the structure pointed at by dt and return a pointer
to this structure.
The ndaysg() and ndaysj() functions return the day number of the date pointed at by dt.
The gdate() and ndaysg() functions assume Gregorian Calendar after October 4, 1582 and Julian Calendar before, whereas jdate() and ndaysj()
assume Julian Calendar throughout.
The two calendars differ by the definition of the leap year. The Julian Calendar says every year that is a multiple of four is a leap year.
The Gregorian Calendar excludes years that are multiples of 100 and not multiples of 400. This means the years 1700, 1800, 1900, 2100 are
not leap years and the year 2000 is a leap year. The new rules were inaugurated on October 4, 1582 by deleting ten days following this date.
Most catholic countries adopted the new calendar by the end of the 16th century, whereas others stayed with the Julian Calendar until the
20th century. The United Kingdom and their colonies switched on September 2, 1752. They already had to delete 11 days.
The function week() returns the number of the week which contains the day numbered nd. The argument *year is set with the year that contains
(the greater part of) the week. The weeks are numbered per year starting with week 1, which is the first week in a year that includes more
than three days of the year. Weeks start on Monday. This function is defined for Gregorian Calendar only.
The function weekday() returns the weekday (Mo = 0 .. Su = 6) of the day numbered nd.
The structure date is defined in <calendar.h>. It contains these fields:
int y; /* year (0000 - ????) */
int m; /* month (1 - 12) */
int d; /* day of month (1 - 31) */
The year zero is written as "1 B.C." by historians and "0" by astronomers and in this library.
SEE ALSO
ncal(1), strftime(3)
STANDARDS
The week number conforms to ISO 8601: 1988.
HISTORY
The calendar library first appeared in FreeBSD 3.0.
AUTHORS
This manual page and the library was written by Wolfgang Helbig <helbig@FreeBSD.org>.
BUGS
The library was coded with great care so there are no bugs left.
BSD
November 29, 1997 BSD