help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Elisp - Function returning a sequence of times


From: Jean Louis
Subject: Re: Elisp - Function returning a sequence of times
Date: Wed, 16 Dec 2020 11:01:19 +0300
User-agent: Mutt/2.0 (3d08634) (2020-11-07)

* Emanuel Berg via Users list for the GNU Emacs text editor 
<help-gnu-emacs@gnu.org> [2020-12-16 08:53]:
> Jean Louis wrote:
> 
> > I am using external tools
> 
> Me too, here is some zsh:
> 
>   https://dataswamp.org/~incal/conf/.zsh/time
> 
> and a screenshot:
> 
>   https://dataswamp.org/~incal/pimgs/comp/clocks.png

Looks like prompt, is it? Huge calendar prompt. OK fine. Could be also
used to show upcoming appointments.

Emacs must have those date/time features and adding times
somewhere. But where?

(info "(elisp) Time Calculations")

time-add is a built-in function in ‘src/timefns.c’.

(time-add A B) 

In the manual there is more references:

          (let ((time (decode-time nil nil t))
                (delta (make-decoded-time :month 2)))
            (encode-time (decoded-time-add time delta)))

(make-decoded-time :hour 10 :minute 20) => (nil 20 10 nil nil nil nil nil nil)

This adds 360 seconds to current-time:
(time-add (current-time) 360)

(defun my-days (days)
  "Returns seconds for days"
  (* 24 3600 days))

(defun my-minutes (minutes)
  "Returns seconds for minutes"
  (* 60 minutes))

(my-minutes 35)
2100

(format-time-string "%H:%M" (current-time))
"10:57"

(time-add (current-time) (my-minutes 35))
(24537 50767 754967 229000)

(format-time-string "%H:%M" (time-add (current-time) (my-minutes 35)))
"11:33"

So adding works in plain Emacs.

What I do not know is how to convert 10:57 time to TIME format
like: (24537 50767 754967 229000)

And because function requires only time as hours and minutes, the
date would not matter.

Once that is found, how to convert any TIME:MINUTES to that TIME
format: (24537 50767 754967 229000) then it will be easy to make
function that adds minutes or specified hours or minutes to it
and produces a sequence.

Jean





reply via email to

[Prev in Thread] Current Thread [Next in Thread]