Andrés J. Díaz

libcalby

Tiny library to manage calendars and date/time stamps (ISO, TAI, JD, MJD...)

Latest stable relases:

Source:releases/libcalby-0.1.tar.gz
Signature:releases/libcalby-0.1.tar.gz.asc

Show all releases
Github page

Contents:


README

libcalby: a tiny calendar library
=================================

The libcalby provides a suite of tools to manage different calendars easy.
Currently supports Gregorian Calendar and Julian Calendar, and also support
a number of formats for date and time, including ISO, TAI64, Julian Date and
Modified Julian Date.

libcalby still under development, and new calendars and formats will be
added in the future.

Example of usage
----------------

  #include <stdio.h>
  #include "calby.h"

  int
  main (int argc, char **argv)
  {
      cal_datetime_t t;
      uint64_t tai;
      char buf[CAL_ISOFMT_LEN];

      cal_now(&t); /* get current time */
      cal_format(&t,buf); /* human readable */

      /* print date-time in human readable form */
      printf("%s\n", buf);

      /* print julian date */
      printf("%ld\n", cal_jd(&t));

      /* print modified julian date */
      printf("%ld\n", cal_mjd(&t));

      /* print TAI form */
      printf("@%llx\n", cal_tai(&t));

      /* add leap seconds to tai */
      /* /etc/leapseconds.dat must be exists */
      tai = cal_tai(&t);
      cal_leapsecs_add(&tai);

      /* print TAI with leap seconds */
      printf("@%llx\n", tai);

      /* get julian calendar date */
      cal_julian(&t);
      cal_format(&t,buf);

      printf("%s\n",buf);
  }



CONTRIBUTE

If you find any error in the code or incorrect behaviour, please do not hesitate to report me at ajdiaz+libcalby at ajdiaz.me.

The mainstream code is keep under git control, you can clone as usual:

git clone git://git.ajdiaz.me/ajdiaz/libcalby.git

Also you can open a issue in github mirror.


Andrés J. Díaz <ajdiaz at ajdiaz.me>.
GPG Key: 90ADF27A6AA55A789738CDB15369AA4171B5139C. GPG Key Signing Policy.
Accesible by Ghoper