SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

README information for jday and j2d VERSION 2.4 2005-10-10

$Id: README,v 1.12 2005/10/07 00:07:11 hiram Exp $

Astronomical Julian Date calculator

See also: http://jday.sourceforge.net/

To unpack the source archive:

        with gnu tar:  tar -xvzf jday-2.4.tar.gz
        or an ordinary tar:
        gunzip -c jday-2.4.tar.gz | tar -xvf -

This creates a ./jday-2.4 directory.

To build jday:

        cd jday-2.4
        ./configure             (the usual configure arguments are honored)
        make
        make check

The default build creates a static library, use --enable-shared to also create shared libraries. Since the static library is so tiny, the extra effort to make a shared library is somewhat unnecessary. However, the dynamic library will work OK.

To install the jday, j2d and dbd binaries into /usr/local

make install

Installs three binaries in /usr/local/bin:

        /usr/local/bin/jday
        /usr/local/bin/j2d
        /usr/local/bin/dbd
the include file:
        /usr/local/include/jday.h
the library:
        /usr/local/lib/libjday.a
and a man page:
        /usr/local/man/man1/jday.

To override the default /usr/local prefix, use the --prefix=<some other prefix>
argument to the ./configure
(configure will honor the usual arguments)

TESTING

Run 'make check' to run these three tests:

        After the jday and j2d binaries are built, run the
        shell script: RunTest to test both of those binaries.

        The PERL examples can be tested with JdayTest.pl

        The dbd - days between dates example can be tested with Testdbd

To use:         (see also: jday.html in the source directory)

jday - with no arguments will print out the current Julian date

        based on your system clock and timezone.  If your
        timezone or system clock are inaccurate, the output of
        jday will also be inaccurate

To compute the Julian Date of a particular date/time, any of the following invocations are allowed::

        jday year
        jday year month
        jday year month day
        jday year month day hour
        jday year month day hour minute
        jday year month day hour minute second

For those items not specified, the current system date/time is used. And for symmetry with j2d output, the format of the output of j2d can be used:

jday -d year-month-day hour:minute:second

and in this case all items must be specified.

j2d only operates in one mode.

j2d - must have an argument, which is a julian date. Output will be in the form: year-month-day hour:minute:second

For example, the following is possible::

j2d `jday`

There is a RunTest script which will run through the following set of dates. Watch for any FAIL indications.

Examples: (note: there is a year zero in julian dates)

        $ jday -4712 1 1 12 0 0
        0.000000         
        $ j2d 0.0
        -4712/01/01 12:00:00
        $ jday -1 12 31 12 0 0
        1721057.000000   
        $ j2d 1721057.000000
        -1/12/31 12:00:00
        $ j2d 1721058.000000
        0/01/01 12:00:00
        $ jday -d 0/01/01 12:00:00
        1721058.000000
        $ jday 0 12 31 12 0 0
        1721423.000000   
        $ jday 1 1 1 12 0 0
        1721424.000000   

        $ jday 1970 1 1 0 0 0
        2440587.500000   
        $ j2d 2440587.500000
        1970/01/01 00:00:00

        $ j2d 2451774.726007
        2000/08/18 05:25:27
        $ jday -d 2000/08/18 05:25:27
        2451774.726007

NEW TO VERSION 2.4:

Updated configure system to new versions of everything. Changed output format to read: YYYY-MM-DD instead of the version 1.3 output of: YYYY/MM/DD
There is a new option '-v1' to j2d to make it output the version 1.3 type of output for backwards compatibility.

NEW TO VERSION 1.3:

There are now versions written in AWK, PHP and PERL. They are not installed from the source directory. PERL source: CalDate.pm J2D.pl Jday.pl JdayTest.pl PHP source: CalDate.inc Jday.php
AWK source: dbd.awk jday.awk

        (these AWK sources are shell scripts with the awk code
                in them.)

A demonstration program is included: dbd.c (and dbd.awk)

        which will calculate days between dates.
        Testdbd script will exercise this example.

JAVA BUILD:

The Java is bare bones. But I do believe it works. To build it: cd javaDate
javac Jdate.java
cd ..
javac J2D.java
javac Jday.java

KNOWN BUGS:

I haven't tested the awk version very much and it is not complete with a j2d.awk function. Also since awk isn't uniform on all systems, it may not function.

Leap seconds are not accounted for, see below.

I couldn't get it to compile on the Sourceforge Compile Farm machine x86-solaris1 (Solaris 9 on x86). It wouldn't make a static library. And when asked for a shared library, it made it, but it wouldn't link the binaries with it.

DEVELOPMENT ENVIRONMENT:

GNU Tools version used to generate the configure files:

automake (GNU automake) 1.9.2
aclocal (GNU automake) 1.9.2
autoconf (GNU Autoconf) 2.59
libtoolize (GNU libtool) 1.5.6

SEE ALSO:

Time Standard: http://tycho.usno.navy.mil Systems of time: http://tycho.usno.navy.mil/systime.html Time Services: http://tf.nist.gov/timefreq/index.html Network Time Protocol: http://www.ntp.org/ Leap Seconds: http://tf.nist.gov/timefreq/pubs/bulletin/leapsecond.htm

LEAP SECONDS:

The jday programs do NOT take into account the leap seconds that have been added since 1972. There is a planned leap second for 2005-12-31 (MJD 53736)

From the NIST leapsecond.htm file:

Date MJD

1998-12-31      51179
1997-06-30      50630
1995-12-31      50083
1994-06-30      49534
1993-06-30      49169
1992-06-30      48804
1990-12-31      48257

Date MJD

1989-12-31      47892
1987-12-31      47161
1985-06-30      46247
1983-06-30      45516
1982-06-30      45151
1981-06-30      44786

Date MJD

1979-12-31      44239
1978-12-31      43874
1977-12-31      43509
1976-12-31      43144
1975-12-31      42778
1974-12-31      42413
1973-12-31      42048
1972-12-31      41683
1972-06-30      41499

        jday at hiram.ws - 2005-10-10 10:10:10 UTC - JD 2453653.923727


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.