× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: RE: Can I get the Day of the week?
  • From: "Wills, Mike N. (TC)" <MNWills@xxxxxxxxxxxxxx>
  • Date: Wed, 16 May 2001 09:41:04 -0500

There is a mathematical formula for getting the day of the week:

D = Day
M = Month
Y = the last two digits of the year
C = Century

((d + y) - (2 * c) + (y / 4) + (c / 4) + ((13 * m - 1) / 5)) % 7 = Day

For the Day: 0 = Sunday, 1 = Monday, etc.
For some reason my program is a day off right now but I am positive I had it
working before. I haven't taken the time to debug it yet. This was done in
C++ on a PC. I need to double check my formula.

But with this formula it doesn't depend on a known date. I don't know if it
could cause problems, I just remember people keep on saying to NOT hard-code
anything in if possible (although I am sure many of us do anyway). This is a
formula that my instructor gave me and I have seen it on the web. Then, if
you (for some weird reason) need a day from the 1600's you can get it. 

-----Original Message-----
From: DeLong, Eric [mailto:EDeLong@Sallybeauty.com]
Sent: Wednesday, May 16, 2001 8:51 AM
To: 'RPG400-L@midrange.com'
Subject: RE: Can I get the Day of the week?


No. I can't see that that's a problem. Personally, I can't see how one could
determine the DOW without some sort of known date. These DOW functions are
both simple and effective. What's the problem?

Eric DeLong

-----Original Message-----
From: Wills, Mike N. (TC) [mailto:MNWills@taylorcorp.com]
Sent: Wednesday, May 16, 2001 8:30 AM
To: 'RPG400-L@midrange.com'
Subject: RE: Can I get the Day of the week?


The one problem I have with most of these suggestions is that the date is
then dependant upon a known date. Doesn't other people see something wrong
with this?

Mike

-----Original Message-----
From: boldt@ca.ibm.com [mailto:boldt@ca.ibm.com]
Sent: Wednesday, May 16, 2001 7:12 AM
To: rpg400-l@midrange.com
Subject: Re: Can I get the Day of the week?


From: "Christopher J. Devous" <cdevous@antigua.com>
Subject: RE: Can I get the Day of the week?
Christopher wrote:
>Try this, it's based on the famous "Doomsday" algorithm by JH Conway:
>
>    100
**************************************************************************
>    200       ***
>    300       ***      Program Name --  DOWK
>    400       ***      Description  --  Calculate Day of Week from
Gregorian
>    500       ***                       Date
>    600       ***      Author       --  Christopher J. Devous

As much as I respect John Horton Conway, RPG programmers can't do
day of week computation much shorter than with this procedure:

 //\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\//
 // Procedure:  DayOfWeek                                           //
 // Purpose:  Determine the day of week for a particular date       //
 // Parameters:                                                     //
 //    I: dt   -- date                                              //
 // Returns:                                                        //
 //    0..6    -- 0=Sunday, 1=Monday, 2=Tuesday, etc.               //
 // Notes:                                                          //
 //    January 5, 1800 is a Sunday.  This procedure only works for  //
 //    dates later than 1800-01-05.                                 //
 //\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\//
P DayOfWeek       b
D DayOfWeek       pi            10i 0
D   dt                            d   value datfmt(*iso)
 /free
    return %rem (%diff (dt: d'1800-01-05': *days): 7);
 /end-free
P DayOfWeek       e





Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.