2 * Copyright (c) 1986-2000, Hiram Clawson
5 * Redistribution and use in source and binary forms, with or
6 * without modification, are permitted provided that the following
9 * Redistributions of source code must retain the above
10 * copyright notice, this list of conditions and the
11 * following disclaimer.
13 * Redistributions in binary form must reproduce the
14 * above copyright notice, this list of conditions and
15 * the following disclaimer in the documentation and/or
16 * other materials provided with the distribution.
18 * Neither name of The Museum of Hiram nor the names of
19 * its contributors may be used to endorse or promote products
20 * derived from this software without specific prior
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
24 * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
25 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27 * IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
28 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
33 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
34 * THE POSSIBILITY OF SUCH DAMAGE.
39 * @brief contains definitions of structures used for time calculations.
45 typedef struct ut_instant {
46 double j_date; /**< julian decimal date, 0 = 01 Jan 4713 BC 12 HR UT */
47 long year; /**< year, valid range [-4,713, +2,147,483,647] */
48 int month; /**< [1-12] */
49 int day; /**< [1-31] */
50 int i_hour; /**< [0-23] */
51 int i_minute; /**< [0-59] */
52 int i_second; /**< [0-59] */
53 double d_hour; /**< [0.0-23.9999] includes minute and second */
54 double d_minute; /**< [0.0-59.9999] includes second */
55 double d_second; /**< [0.0-59.9999] */
56 int weekday; /**< [0-6] */
57 int day_of_year; /**< [1-366] */
58 } UTinstant, * UTinstantPtr;
60 /* Functions in caldate.c */
62 long caldat( UTinstantPtr ); /** converts julian date to year,mo,da */
63 double juldat( UTinstantPtr ); /** returns julian day from year,mo,da */
65 #endif /* _astime_h_ */