Home > matutils > dateconv > date2jd.m

date2jd

PURPOSE ^

DATE2JD Julian day number from Gregorian date.

SYNOPSIS ^

function jd = date2jd(varargin)

DESCRIPTION ^

DATE2JD Julian day number from Gregorian date.

   JD = DATE2JD(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) returns the Julian
   day number of the given date (Gregorian calendar) plus a fractional part
   depending on the time of day.

   Any missing MONTH or DAY will be replaced by ones.  Any missing HOUR,
   MINUTE or SECOND will be replaced by zeros.

   If no date is specified, the current date and time is used.

   Start of the JD (Julian day) count is from 0 at 12 noon 1 January -4712
   (4713 BC), Julian proleptic calendar.  Note that this day count conforms
   with the astronomical convention starting the day at noon, in contrast
   with the civil practice where the day starts with midnight.

   Astronomers have used the Julian period to assign a unique number to
   every day since 1 January 4713 BC.  This is the so-called Julian Day
   (JD).  JD 0 designates the 24 hours from noon UTC on 1 January 4713 BC
   (Julian proleptic calendar) to noon UTC on 2 January 4713 BC.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function jd = date2jd(varargin)
0002 %DATE2JD Julian day number from Gregorian date.
0003 %
0004 %   JD = DATE2JD(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) returns the Julian
0005 %   day number of the given date (Gregorian calendar) plus a fractional part
0006 %   depending on the time of day.
0007 %
0008 %   Any missing MONTH or DAY will be replaced by ones.  Any missing HOUR,
0009 %   MINUTE or SECOND will be replaced by zeros.
0010 %
0011 %   If no date is specified, the current date and time is used.
0012 %
0013 %   Start of the JD (Julian day) count is from 0 at 12 noon 1 January -4712
0014 %   (4713 BC), Julian proleptic calendar.  Note that this day count conforms
0015 %   with the astronomical convention starting the day at noon, in contrast
0016 %   with the civil practice where the day starts with midnight.
0017 %
0018 %   Astronomers have used the Julian period to assign a unique number to
0019 %   every day since 1 January 4713 BC.  This is the so-called Julian Day
0020 %   (JD).  JD 0 designates the 24 hours from noon UTC on 1 January 4713 BC
0021 %   (Julian proleptic calendar) to noon UTC on 2 January 4713 BC.
0022 
0023 %   Sources:  - http://tycho.usno.navy.mil/mjd.html
0024 %             - The Calendar FAQ (http://www.faqs.org)
0025 
0026 %   Author:      Peter J. Acklam
0027 %   Time-stamp:  2002-05-24 13:30:06 +0200
0028 %   E-mail:      pjacklam@online.no
0029 %   URL:         http://home.online.no/~pjacklam
0030 
0031    nargsin = nargin;
0032    error(nargchk(0, 6, nargsin));
0033    if nargsin
0034       argv = {1 1 1 0 0 0};
0035       argv(1:nargsin) = varargin;
0036    else
0037       argv = num2cell(clock);
0038    end
0039    [year, month, day, hour, minute, second] = deal(argv{:});
0040 
0041    % The following algorithm is a modified version of the one found in the
0042    % Calendar FAQ.
0043 
0044    a = floor((14 - month)/12);
0045    y = year + 4800 - a;
0046    m = month + 12*a - 3;
0047 
0048    % For a date in the Gregorian calendar:
0049    jd = day + floor((153*m + 2)/5) ...
0050         + y*365 + floor(y/4) - floor(y/100) + floor(y/400) - 32045 ...
0051         + ( second + 60*minute + 3600*(hour - 12) )/86400;

Generated on Sun 14-Jun-2015 17:12:45 by m2html © 2005