home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / datetime / c_dates2 / separate / gtoj.c < prev    next >
Encoding:
Text File  |  1988-01-01  |  935 b   |  29 lines

  1. /************************************************************************/
  2. /*                *** gtoj.c ***                */
  3. /*                                    */
  4. /* This function converts a gregorian date, in the ( month, day, year )    */
  5. /* format, into its respective julian, or day number, equivalent.    */
  6. /* ( 1 = 1st day AD )                            */
  7. /*                                    */
  8. /* The legal input values, in their proper order, are:            */
  9. /*                                    */
  10. /*    month   =  1   to    12            ( unsigned int )    */
  11. /*    day     =  1   to    31            ( unsigned int )    */
  12. /*    year    =  0   to  9999            ( unsigned int )    */
  13. /*                                    */
  14. /* The return value of the function is the julian day number        */
  15. /* expressed as    an unsigned long integer.                */
  16. /*                                    */
  17. /************************************************************************/
  18.  
  19. long gtoj( m, d, y )
  20.  
  21. unsigned int m, d, y;
  22.  
  23. {
  24.     y += ( m += 9 ) / 12 + 399;
  25.     m %= 12;
  26.  
  27.     return ( (long)y*365 + y/4 - y/100 + y/400 + (153*m+2)/5 + d - 146037 );
  28. }
  29.