all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jean Louis <bugs@gnu.support>
To: help-gnu-emacs@gnu.org
Subject: Re: even elder races get tired of waiting
Date: Mon, 22 Mar 2021 10:48:11 +0300	[thread overview]
Message-ID: <YFhLu1L2fcOBJrFv@protected.localdomain> (raw)
In-Reply-To: <87h7l4nnqs.fsf@zoho.eu>

* Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-03-22 01:31]:
> >> OK? And days start at 00:00?
> >
> > Good question!
> >
> > There are few definitions for days, some definitions will
> > say it starts at zero, some others will tell it is interval
> > of 24 hours, not necessarily starting at zero, and some
> > definition will speak of daylight period. [...]
> 
> How do you suggest I improve the function?

Maybe you should first define what is meant with `days-from-date'. I
like that type of functions and I was looking for that in pure Emacs
lisp, and found the same what you already implemented that it could be
possible to calculate with dates and get differences. Yet I am still
sticking to external PostgreSQL based solutions.

Your function brought me to thinking and I am still confused if I was
calculating well the periods of time from one to other date, but no
human so far complained, that is why I said that human error makes the
functions work any way.

If you wish to say that `days-from-date' is calculated purely
mathematically, then what is the meaning of "from date", does it
include the date or it starts after the date? We have seen how humans
calculate "from date" often by including the date, like in:

In "We work from Monday to Friday" the expression "from" and "to"
includes both the beginning day and the ending day.

Because of so much ambiguity you would need to define what
`days-from-date' is meant to represent. 

(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

Gives me 32 now.

(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

Now the above gives me 32 in this moment March 22 10:40 EAT, how
comes? It was giving me 31 before.




  reply	other threads:[~2021-03-22  7:48 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
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 [this message]
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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YFhLu1L2fcOBJrFv@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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.