From: Jean Louis <bugs@gnu.support>
To: help-gnu-emacs@gnu.org
Subject: Re: even elder races get tired of waiting
Date: Sun, 21 Mar 2021 17:01:33 +0300 [thread overview]
Message-ID: <YFdRvVtzuQJIndo7@protected.localdomain> (raw)
In-Reply-To: <87v99lr26w.fsf@zoho.eu>
* Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-03-20 23:39]:
> ;;; this file:
> ;;; http://user.it.uu.se/~embe8573/emacs-init/time-cmp.el
> ;;; https://dataswamp.org/~incal/emacs-init/time-cmp.el
>
> ;; ...
>
> (require 'cl-lib)
> (defun days-from-date (d1 d2)
> (let*((sep "-")
> (d1-data (cl-map 'list #'string-to-number (split-string d1 sep)))
> (d2-data (cl-map 'list #'string-to-number (split-string d2 sep)))
> (y1 (car d1-data))
> (m1 (cadr d1-data))
> (d1 (caddr d1-data))
> (y2 (car d2-data))
> (m2 (cadr d2-data))
> (d2 (caddr d2-data)) )
> (days-from y1 m1 d1 y2 m2 d2) ))
> ;; (days-from-date "2021-03-19" "2021-04-20") ; 31
>
> (defun days-from (y1 m1 d1 y2 m2 d2)
> (let*((s-then (float-time (encode-time 0 0 0 d1 m1 y1)))
> (s-now (float-time (encode-time 0 0 0 d2 m2 y2)))
> (s-diff (- s-now s-then)) )
> (string-to-number (format-seconds "%d" s-diff) )))
> ;; (days-from 2021 03 19 2021 04 20) ; 31
Great.
I use PostgreSQL for that, and there is difference one day:
(defun days-from (from-date to-date)
"Returns days passed from FROM-DATE to TO-DATE in format YYYY-MM-DD."
(string-to-number
(string-trim
(shell-command-to-string
(format "psql -Aqtc \"SELECT abs('%s'::date - '%s'::date)\"" to-date from-date)))))
(days-from "2021-03-19" "2021-04-20") => 32
Also here they claim to be 32:
https://www.timeanddate.com/date/durationresult.html?d1=19&m1=03&y1=2021&d2=20&m2=04&y2=2021
And if I click on that website [X] Include end date in calculation, I
get 33. Maybe website is wrong.
Human review:
March 2021 April 2021
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 29 30
20 21 22 23 24 25 26 27 28 29 30 31 plus 20 = 32
So it is maybe matter of counting. I don't count the first day, as
that is like zero. But I do count last day. Website says 33 if last
day is counted.
So in the end your difference of 31 is maybe right.
Jean
next prev parent reply other threads:[~2021-03-21 14:01 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-20 20:37 even elder races get tired of waiting Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-21 14:01 ` Jean Louis [this message]
2021-03-21 14:19 ` Jean Louis
2021-03-21 15:12 ` Jude DaShiell
2021-03-21 17:10 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-21 17:29 ` Jean Louis
2021-03-21 17:38 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 7:21 ` Jean Louis
2021-03-21 22:30 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 7:48 ` Jean Louis
2021-03-22 18:29 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 19:10 ` Jean Louis
2021-03-22 19:47 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 20:31 ` Jean Louis
2021-03-22 21:33 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 21:40 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 22:43 ` Jean Louis
2021-03-22 23:34 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 23:38 ` Jean Louis
2021-03-22 23:52 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 8:42 ` Jean Louis
2021-03-22 18:31 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 19:21 ` Jean Louis
2021-03-21 17:13 ` Jean Louis
2021-03-21 19:24 ` Jude DaShiell
2021-03-21 22:34 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-03-22 7:54 ` Jean Louis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YFdRvVtzuQJIndo7@protected.localdomain \
--to=bugs@gnu.support \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).