Sponsored Content
Full Discussion: Leap year K-shell script
Top Forums UNIX for Dummies Questions & Answers Leap year K-shell script Post 74978 by blowtorch on Tuesday 14th of June 2005 04:11:48 PM
Old 06-14-2005
Code:
#!/usr/bin/ksh
year=$1
if [ `expr $year % 100` -eq 0 -a `expr $year % 400` -eq 0 ]
then
        echo "$year is a leap year"
elif [ `expr $year % 100` -ne 0 -a `expr $year % 4` -eq 0 ]
then
        echo "$year is a leap year"
else
        echo "$year is a not leap year"
fi

Cheers!

Last edited by blowtorch; 06-14-2005 at 05:12 PM.. Reason: add code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Insertion of Leap Second

Hi All, We are running the HP-UX 11.11 and Linux AS 3.0. so, shall we need to make any changes for leap second i.e. insert the leap second on 1st Jan 2006 or does the system have some setup which would take care of this automatically. Please advise. Regards, Inder (2 Replies)
Discussion started by: isingh786
2 Replies

2. HP-UX

Leap Second

Hi All, We are running the HP-UX 11.11 and Linux AS 3.0. so, shall we need to make any changes for leap second i.e. insert the leap second on 1st Jan 2006 or does the system have some setup which would take care of this automatically. Please advise. Regards, Inder (1 Reply)
Discussion started by: isingh786
1 Replies

3. UNIX for Advanced & Expert Users

leap seconds and the stdc library

I understand the NTP protocol, so keeping system time updated is not a problem. Standard C library routines like localtime() take a number of UTC seconds elapsed since the start of the epoch (Jan 1, 1970). These times in seconds can be a filetime, system time, or some other time in the past or... (1 Reply)
Discussion started by: jim mcnamara
1 Replies

4. Shell Programming and Scripting

shell script to find and copy the files creted in the year 2006 to another directory

Hi All, I am new to UNIX. I will be thankful if some one helps me. I have to write a shell script for one of the requirement. I have files created from Jan 2006 to March 2008. My requirement is to write a script in such a way that 1) To find and copy(not Moving) the files created in the... (2 Replies)
Discussion started by: manas6
2 Replies

5. UNIX for Dummies Questions & Answers

Number of leap seconds

Is there a function call in std library or unit command that returns the number of current leap seconds? GG (4 Replies)
Discussion started by: NAVTime
4 Replies

6. Shell Programming and Scripting

unix korn shell leap years problem

Write a function called dateToDays that takes three parameters -a month string such as Sep, a day number such as 18, and a year number such as 1962-and return s the number of days from January 1, 1900, to the date. Notes: I am asking you to account for leap years. my script is not... (0 Replies)
Discussion started by: babuda0059
0 Replies

7. Fedora

Leap second happening

Have anybody heard about the Leap second problem Leap second :A leap second is a one-second adjustment that is occasionally applied to Coordinated Universal Time (UTC) in order to keep its time of day close to the mean solar time. How could i avoid such thing in my script which i deal with... (6 Replies)
Discussion started by: wnaguib
6 Replies

8. Shell Programming and Scripting

How to pass current year and month in FOR LOOP in UNIX shell scripting?

Hi Team, I have created a script and using FOR LOOP like this and it is working fine. for Month in 201212 201301 201302 201303 do echo "Starting the statistics gathering of $Month partitions " done But in my scripts the " Month " variable is hard-coded. Can you please any one... (3 Replies)
Discussion started by: shoan
3 Replies

9. Solaris

Leap second for year 2015

I hear the Leap second for 2015 will occur on June 30 at 23:59:60 according to the wild rumours from internet the expected impact ranges from crashing to hanging servers. Can anybody share their preparations what they have done for solaris servers? are there any patches to install or workaround?... (1 Reply)
Discussion started by: sparcguy
1 Replies

10. Shell Programming and Scripting

Shell script rm last 1 year file

HI I am using below script to remove only last year files and also need deleted files i want to keep in log file or history for future reference But it is giving wrong output please help or let me any other way for example 2016 if am using this command it is removing 2016 and 2017 files also... (2 Replies)
Discussion started by: Kalia
2 Replies
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
All times are GMT -4. The time now is 10:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy