Skip to content

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

License

Notifications You must be signed in to change notification settings

ajdiaz/libcalby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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);
  }


About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published