summaryrefslogtreecommitdiff
path: root/libmailutils/datetime/jd.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-12-08 17:04:29 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2011-12-08 18:33:56 +0200
commitacec689ef648adaa5c420049bfb775953e184bda (patch)
treeac5a96099e5a646fc24986650b4f9073c9e83642 /libmailutils/datetime/jd.c
parent5af1d3a7bd8149139ad59baa11501e3d11b138a7 (diff)
downloadmailutils-acec689ef648adaa5c420049bfb775953e184bda.tar.gz
mailutils-acec689ef648adaa5c420049bfb775953e184bda.tar.bz2
Revamp date/time calculations.
* configure.ac: Build libmailutils/datetime/Makefile.am * include/mailutils/datetime.h (mu_datetime_julianday) (mu_datetime_dayofweek,mu_datetime_dayofyear) (mu_datetime_year_days): New protos. * libmailutils/Makefile.am (SUBDIRS): Add datetime (libmailutils_la_LIBADD): Add libdatetime.la * libmailutils/base/Makefile.am (libbase_la_SOURCES): Remove date.c and strftime.c. * libmailutils/base/date.c: Remove. * libmailutils/base/strftime.c: Move to libmailutils/datetime * libmailutils/datetime/Makefile.am: New file. * libmailutils/datetime/dow.c: New file. * libmailutils/datetime/doy.c: New file. * libmailutils/datetime/jd.c: New file. * libmailutils/datetime/scantime.c: New file. * libmailutils/datetime/streamftime.c: New file. * libmailutils/datetime/tab.c: New file. * libmailutils/datetime/unixtime.c: New file. * libmailutils/datetime/utcoff.c: New file. * libmailutils/datetime/yd.c: New file. * libmailutils/tests/scantime.at: Fix yday numbers.
Diffstat (limited to 'libmailutils/datetime/jd.c')
-rw-r--r--libmailutils/datetime/jd.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/libmailutils/datetime/jd.c b/libmailutils/datetime/jd.c
new file mode 100644
index 000000000..39fdf8014
--- /dev/null
+++ b/libmailutils/datetime/jd.c
@@ -0,0 +1,32 @@
+/* GNU Mailutils -- a suite of utilities for electronic mail
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General
+ Public License along with this library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+#include <stdlib.h>
+#include <mailutils/datetime.h>
+
+int
+mu_datetime_julianday (int year, int month, int day)
+{
+ int a = (14 - month) / 12;
+ int y = year + 4800 - a;
+ int m = month + 12*a - 3;
+
+ return day + (153*m + 2)/5 + 365*y + y/4 - y/100 + y/400 - 32045;
+}

Return to:

Send suggestions and report system problems to the System administrator.