emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <nicholas.dokos@hp.com>
To: Martyn Jago <martyn.jago@btinternet.com>
Cc: nicholas.dokos@hp.com, emacs-orgmode@gnu.org
Subject: Re: [BUG] org-table: time difference delivers wrong results
Date: Wed, 23 Nov 2011 05:23:49 -0500	[thread overview]
Message-ID: <14198.1322043829@alphaville.dokosmarshall.org> (raw)
In-Reply-To: Message from Martyn Jago <martyn.jago@btinternet.com> of "Wed\, 23 Nov 2011 09\:13\:01 GMT." <m2lir76w2q.fsf@btinternet.com>

Martyn Jago <martyn.jago@btinternet.com> wrote:

> Martyn Jago <martyn.jago@btinternet.com> writes:
> 
> Apologies I had a typo - please ignore the previous mail. So this looks more sensible:
> 
> > Daniel Bausch <DanielBausch@gmx.de> writes:
> >
> >> Anyone?  It might be a duplicate of what Gustav Wiktrom reported on 1st of 
> >> September, but his problem was not resolved, either.
> >>
> >> Daniel
> >>
> >> Am Dienstag 15. November 2011, 22:12:45 schrieb Daniel Bausch:
> >>> Hello list,
> >>> 
> >>> consider the following example:
> >>> |        A |         B |         C |
> >>> |
> >>> |----------+-----------+-----------|
> >>> |
> >>> | 07:11:00 | -08:00:00 | -01:11:00 |
> >>> 
> >>> #+TBLFM: $3=$1+$2;T
> >
> > [...]
> 
> 
> 
> 
> |   Data 1 |   Data 2 |     Total |
> |----------+----------+-----------|
> | 00:00:00 | 00:00:00 |  00:00:00 |
> | 00:00:00 | 00:00:01 | -01:59:59 |
> | 00:00:00 | 00:00:02 | -01:59:58 |
> | 00:00:00 | 00:00:03 | -01:59:57 |
> | 00:00:00 | 00:00:04 | -01:59:56 |
> | 00:00:00 | 00:00:05 | -01:59:55 |
> | 00:00:00 | 00:00:06 | -01:59:54 |
> | 00:00:00 | 00:00:07 | -01:59:53 |
> | 00:00:00 | 00:00:08 | -01:59:52 |
> | 00:00:00 | 00:00:09 | -01:59:51 |
> | 00:00:00 | 00:00:10 | -01:59:50 |
> | 00:00:00 | 00:00:11 | -01:59:49 |
> | 00:00:00 | 00:00:12 | -01:59:48 |
> | 00:00:00 | 00:00:13 | -01:59:47 |
> | 00:00:00 | 00:00:14 | -01:59:46 |
> | 00:00:00 | 00:00:15 | -01:59:45 |
> #+TBLFM: @2$3=$1-$2;T::@3$3=$1-$2;T::@4$3=$1-$2;T::@5$3=$1-$2;T::@6$3=$1-$2;T::@7$3=$1-$2;T::@8$3=$1-$2;T::@9$3=$1-$2;T::@10$3=$1-$2;T::@11$3=$1-$2;T::@12$3=$1-$2;T::@13$3=$1-$2;T::@14$3=$1-$2;T::@15$3=$1-$2;T::@16$3=$1-$2;T::@17$3=$1-$2;T
> 
> |   Data 1 |   Data 2 |     Total |
> |----------+----------+-----------|
> | 00:00:00 | 00:00:16 | -01:59:44 |
> | 00:00:00 | 00:00:17 | -01:59:43 |
> | 00:00:00 | 00:00:18 | -01:59:42 |
> | 00:00:00 | 00:00:19 | -01:59:41 |
> | 00:00:00 | 00:00:20 | -01:59:40 |
> | 00:00:00 | 00:00:21 | -01:59:39 |
> | 00:00:00 | 00:00:22 | -01:59:38 |
> | 00:00:00 | 00:00:23 | -01:59:37 |
> | 00:00:00 | 00:00:24 | -01:59:36 |
> | 00:00:00 | 00:00:25 | -01:59:35 |
> | 00:00:00 | 00:00:26 | -01:59:34 |
> | 00:00:00 | 00:00:27 | -01:59:33 |
> | 00:00:00 | 00:00:28 | -01:59:32 |
> | 00:00:00 | 00:00:29 | -01:59:31 |
> | 00:00:00 | 00:00:30 | -01:59:30 |
> | 00:00:00 | 00:00:31 | -01:59:29 |
> #+TBLFM: @2$3=$1-$2;T::@3$3=$1-$2;T::@4$3=$1-$2;T::@5$3=$1-$2;T::@6$3=$1-$2;T::@7$3=$1-$2;T::@8$3=$1-$2;T::@9$3=$1-$2;T::@10$3=$1-$2;T::@11$3=$1-$2;T::@12$3=$1-$2;T::@13$3=$1-$2;T::@14$3=$1-$2;T::@15$3=$1-$2;T::@16$3=$1-$2;T::@17$3=$1-$2;T
> 
> |   Data 1 |   Data 2 |     Total |
> |----------+----------+-----------|
> | 00:00:00 | 00:00:59 | -01:59:01 |
> | 00:00:00 | 00:01:00 | -01:59:00 |
> | 00:00:00 | 00:01:01 | -01:58:59 |
> | 00:00:00 | 00:01:02 | -01:58:58 |
> | 00:00:00 | 00:01:03 | -01:58:57 |
> | 00:00:00 | 00:01:04 | -01:58:56 |
> | 00:00:00 | 00:01:05 | -01:58:55 |
> | 00:00:00 | 00:01:06 | -01:58:54 |
> | 00:00:00 | 00:01:07 | -01:58:53 |
> | 00:00:00 | 00:01:08 | -01:58:52 |
> | 00:00:00 | 00:01:09 | -01:58:51 |
> | 00:00:00 | 00:01:10 | -01:58:50 |
> | 00:00:00 | 00:01:11 | -01:58:49 |
> | 00:00:00 | 00:01:12 | -01:58:48 |
> | 00:00:00 | 00:01:13 | -01:58:47 |
> | 00:00:00 | 00:01:14 | -01:58:46 |
> #+TBLFM: @2$3=$1-$2;T::@3$3=$1-$2;T::@4$3=$1-$2;T::@5$3=$1-$2;T::@6$3=$1-$2;T::@7$3=$1-$2;T::@8$3=$1-$2;T::@9$3=$1-$2;T::@10$3=$1-$2;T::@11$3=$1-$2;T::@12$3=$1-$2;T::@13$3=$1-$2;T::@14$3=$1-$2;T::@15$3=$1-$2;T::@16$3=$1-$2;T::@17$3=$1-$2;T
> 
> Best, Martyn
> 
> --
> 
> I _will_ engage brain before posting to the ML :(
> 
> 

I can't see straight at this time of the night, but aren't all these formulas equivalent to
a column formula?

#+TBLFM: $3 = $1 - $2;T

Assuming that's the case, the problem is that org-table-time-to-string assumes that it is given
a positive number and mishandles negative numbers, eg. the first row in the last table invokes:

,----
| (org-table-time-seconds-to-string -59 nil)
| "-01:59:01"
`----


I didn't check carefully, but it looks as if the other-way function,
org-table-time-string-to-seconds, deals correctly with "negative" time
strings.

Nick

  reply	other threads:[~2011-11-23 10:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-15 21:12 [BUG] org-table: time difference delivers wrong results Daniel Bausch
2011-11-23  6:38 ` Daniel Bausch
2011-11-23  9:00   ` Martyn Jago
2011-11-23  9:13     ` Martyn Jago
2011-11-23 10:23       ` Nick Dokos [this message]
2011-11-23 12:11         ` Daniel Bausch

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.orgmode.org/

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

  git send-email \
    --in-reply-to=14198.1322043829@alphaville.dokosmarshall.org \
    --to=nicholas.dokos@hp.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=martyn.jago@btinternet.com \
    /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 public inbox

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

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).