From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
Received: from mp12.migadu.com ([2001:41d0:2:bcc0::])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
by ms5.migadu.com with LMTPS
id eDFsNZPp6GO04AAAbAwnHQ
(envelope-from )
for ; Sun, 12 Feb 2023 14:28:51 +0100
Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
by mp12.migadu.com with LMTPS
id YG4kNZPp6GMjSwEAauVa8A
(envelope-from )
for ; Sun, 12 Feb 2023 14:28:51 +0100
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by aspmx1.migadu.com (Postfix) with ESMTPS id 5681543F56
for ; Sun, 12 Feb 2023 14:28:51 +0100 (CET)
Received: from localhost ([::1] helo=lists1p.gnu.org)
by lists.gnu.org with esmtp (Exim 4.90_1)
(envelope-from )
id 1pRCOe-0004nb-SR; Sun, 12 Feb 2023 08:28:00 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from ) id 1pRCOc-0004nN-MP
for emacs-orgmode@gnu.org; Sun, 12 Feb 2023 08:27:58 -0500
Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from ) id 1pRCOZ-0004b2-8V
for emacs-orgmode@gnu.org; Sun, 12 Feb 2023 08:27:58 -0500
Received: by mail-wr1-x431.google.com with SMTP id h16so9690846wrz.12
for ; Sun, 12 Feb 2023 05:27:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
h=from:content-language:subject:to:user-agent:mime-version:date
:message-id:from:to:cc:subject:date:message-id:reply-to;
bh=TqW5sDRjbygtBAWlpFflA9H/e6DXeMiElvlfxeqnCcs=;
b=YUPjkt0W816HcPtyMd2ahUzOpGLeBRqp8N+5b+EZwWVDbTb6gNDiyfIAvwRjWW7wb2
Ld2eAkWvkiqnHosyc50kmcX86chm+mqbBYjgy2cOZ6JmVyU7qTMxFpRhZJHo1IazSKKP
aaE6s1a7K+0aBdCDYZBvNp/6ebC8rCjQlGKTgLi9E5M8Itp9f2Gx1PykOfXgYtMt90gP
4ZLVWcPyvqCjMXUiZi8jmhO2btgQx126P1e89qKu54oReuylQ19xI/AH4vxfcyE4g08U
1/YTVQMwozKdOAR8C/JU4YobdrkSbpgHBv37wWOz0eBSshT62dtNHXlwz26/775QkJrq
bgIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=from:content-language:subject:to:user-agent:mime-version:date
:message-id:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=TqW5sDRjbygtBAWlpFflA9H/e6DXeMiElvlfxeqnCcs=;
b=jDWSUIGhk0uI831YaC9CVM1pyVubAsDm8tet2kX1+fuTtS0upPs83vJgNeGfOUM8X4
C/bmTDLpvNg9+UUapKvmq3PfOQqjjmgl3iEcs9VMYBEppCw1kzJNcS4did2iexCqxznS
4y4ohkHCzQcxdX5OWTpN5mHsfnP3DQEYPTo0nBdTGVmDqWPjC4eDFpPw0/8gWRZha13K
TFiql/Ufyz/znL1rfLuHwKUUIQ1QoOU+zwjB0p1AvRkBNcaDzDFSK/rhw6ErXTF6bMju
mabnw/DmAHIkUCcxHB6qOEXWRRGxDFIcC0trX9N+uyNN2QNbACTnEoMkNIDVlRV4BqwV
3k2A==
X-Gm-Message-State: AO0yUKUXS3xFDW99V7yQ7VVqTNf6xkCoZqOiBOwZZSYN436nnY21sQ/Q
kqLgCm9g8kISBEHzn25uQhi6IIZtn9Y=
X-Google-Smtp-Source: AK7set+IggLryVk53krxha3P8b1aDPu/dQjUzwyw9swGqxn4KMqHf15o8qApEDSnCgO/okOrK2niyQ==
X-Received: by 2002:adf:dc92:0:b0:2bf:b741:3e0f with SMTP id
r18-20020adfdc92000000b002bfb7413e0fmr18257285wrj.41.1676208472904;
Sun, 12 Feb 2023 05:27:52 -0800 (PST)
Received: from [192.168.0.97] (static-222-20-25-46.ipcom.comunitel.net.
[46.25.20.222]) by smtp.gmail.com with ESMTPSA id
k16-20020adfe8d0000000b002c54536c662sm6880014wrn.34.2023.02.12.05.27.52
for
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Sun, 12 Feb 2023 05:27:52 -0800 (PST)
Content-Type: multipart/alternative;
boundary="------------NMK7zZoGmIMtGR8MLOy0OTJj"
Message-ID:
Date: Sun, 12 Feb 2023 14:27:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
To: Org-mode
Subject: Re: [POLL] Proposed syntax for timestamps with time zone info (was:
[FEATURE REQUEST] Timezone support in org-mode datestamps and org-agenda)
Content-Language: en-GB
From: Ypo
Received-SPF: pass client-ip=2a00:1450:4864:20::431;
envelope-from=ypuntot@gmail.com; helo=mail-wr1-x431.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-BeenThere: emacs-orgmode@gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "General discussions about Org-mode."
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org
Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org
X-Migadu-Flow: FLOW_IN
X-Migadu-Country: US
ARC-Authentication-Results: i=1;
aspmx1.migadu.com;
dkim=pass header.d=gmail.com header.s=20210112 header.b=YUPjkt0W;
spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org";
dmarc=pass (policy=none) header.from=gmail.com
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1676208531; a=rsa-sha256; cv=none;
b=Cl056XnVc7CVynElt4Axa6nOpHjhfWezFZlWJDcmix32eUmsVK4gK3KWXfox9qAXhcfc14
4LQbxGysbo1eui3genmmNNbi9BsZOOwppqFNJcsX3BO67smHsXq9qk3cl5OcO8Xv4Dqoqn
ngA5T1B3QLpj896Wh/c4ksI9EgNVH0DSII0+qGSJiJedYPmF5Y6TgPLZtRX8UnNhjOlS4L
QLib+eGqaYsU8hvdMCCRntmBv6saahnpKC59g1jC+S87/DTrQvNTHsoazOnCdmhSXGE++C
PLAzyd1+dbsVGpDZ0U8JSWEzOL3fGvPsbTk4PCtqkXYgQvHopNLvj3WypyL5Yg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
s=key1; t=1676208531;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc:mime-version:mime-version:
content-type:content-type:list-id:list-help:list-unsubscribe:
list-subscribe:list-post:dkim-signature;
bh=TqW5sDRjbygtBAWlpFflA9H/e6DXeMiElvlfxeqnCcs=;
b=QnnqBOkTQIdj3oWKTFf14iRYjwd7SzniwZ1giBEYzxlknM5gIo3TLVBa34ZtRARMI/112F
y5ERBSOnkk+EcuiglaGuTSlEzb+oZ732MQ3vq1Aa+/csGM0Ho7+I1ZCARtHu9hvX09h/5M
zx2DkJsKuhAoL86NwFI6Vrl4+Y+D/egiyNq5TPYo07spLFKFK/P7+JNUpO+eRCVB1B63DO
wkIKCoddSHF2gWazBmo9CXDQSutbBS/a2kydSQVD3eHEHF9jArW6Y+d0BWUhMXibuwCS4x
E+GbN8kRTM8CH5BrAaZ+9GchdGkdqKxnh3EM6kxu+Dwk+39iiQQvZz/HQNaISg==
X-Migadu-Scanner: scn1.migadu.com
X-Migadu-Spam-Score: -5.32
X-Spam-Score: -5.32
X-Migadu-Queue-Id: 5681543F56
Authentication-Results: aspmx1.migadu.com;
dkim=pass header.d=gmail.com header.s=20210112 header.b=YUPjkt0W;
spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org";
dmarc=pass (policy=none) header.from=gmail.com
X-TUID: zfB8dKkeo41W
This is a multi-part message in MIME format.
--------------NMK7zZoGmIMtGR8MLOy0OTJj
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Could it be reasonable to collect the hypothetical cases where relative
timestamps would be used?
So, alternatives and solutions could be evaluated more easily.
For example:
| External Input | User's
input | Org output |
Agenda output (local time) | Org time storing |
|---------------------------------------------------------+----------------------------------+----------------------------------------+----------------------------+----------------------|
| Meeting at 09:37:54, 28 February 2023, in Foz do Iguaçu | [2023-02-28
ma. 09:37 @UTC-3] | [2023-02-28 ma. 09:37 @UTC-3] |
[2023-02-28 ma. 13:37] | 20230228T12:37:54,68 |
| Same case as above | [2023-02-28
ma. 09:37 @timezone] | [2023-02-28 ma. 09:37 @UTC-3,timezone] |
[2023-02-28 ma. 13:37] | 20230228T12:37:54,68 |
| Party at my home, tomorrow | [2023-02-13
lu. 14:15] | [2023-02-13 lu. 14:15 @UTC+1,timezone] |
[2023-02-13 lu. 14:15] | 20230213T13:15:54,68 |
- I didn't expect this: it is more difficult for me to find the
timezone, and to write it in the correct format, than to find the UTC
offset.
- Maybe org output should always show the time zone, since for calculations
- Should convert show every timestamp timezone, so we know local
timezone is correct?
- Sorry for the table format, I don't know how to export it from orgmode
to thunderbird's mail editor.
> ------------------------------------------------------------------------
> * Max Nikulin [2023-02-11 07:47]:
> >/On 10/02/2023 10:29, Jean Louis wrote:/
> >/> 2030-02-09 12:00 -08 @UTC -- this time CANNOT be said to be "fixed/
> >/> UTC"/
> >//
> >/I do not see any reason why obviously invalid timestamp draws so much/
> >/attention./
> >//
> >/Resolution may be rather concise: behavior is *undefined* since field
> values/
> >/are mutually inconsistent. Perhaps implementation may prefer to treat
> it as/
> >/2030-02-09T12:00:00-0800 discarding UTC as time zone specifier.
> `org-lint'/
> >/should issue a warning requesting a user action./
>
> Thank you!
>
> I have demonstrated that Etar application from F-Droid would disregard
> what is invalid and basically only enter valid time. Same for Google
> calendar, it would disregard invalid timestamp (even though not
> represented as above), and it would enter only valid one. PostgreSQL
> will "silently" ignore what does not belong to it.
>
> One can search for "silent" here:
> https://www.postgresql.org/docs/current/datatype-datetime.html
>
> >/Could you explain what is wrong with the following (without timezone)?/
> >//
> >/2030-02-09 12:00 -0800/
> >//
> >/I consider it as an unambiguous equivalent of 2030-02-09T20:00:00Z
> that is a/
> >/UTC timestamp./
>
> That is not same case as Ihor, when he designated it as
>
> 2030-02-09 12:00 -0800 @UTC
> because there are no offsets @UTC time zone.
>
> In this different case you wish to say that it is:
>
> time of 2030-02-09 12:00 -0800 whereby -0800 is UTC offset from floating time
> 2030-02-09 12:00, and one can derive UTC time.
>
> That is totally alright as representation of time. That is how past
> timestamps are represented in local time.
>
> Why not -- you can use it for future.
>
> I find it less useful for exchange purposes, almost useless, but you
> can do. Because if you store time as UTC, you can always see local
> time anywhere in the world. But if programmers wish to do that to Org,
> okay fine.
>
> It is different time type representation, that does not exist in ISO
> 8601, but why not, you can include it in Org.
>
> You just be sure that you put a "tag" or such representation that
> users will know what is it, even from plain text.
>
> >/The format with explicit offset may be convenient for a person/
> >/living in an area that *likely* will have -08:00 offset and who/
> >/would like to watch some astronomical event such as lunar eclipse/
> >/and who had a plan to connect to some telescope on the opposite side/
> >/of the globe. Event time will not change if local time changed. Both/
> >/variants 2030-02-09T12:00:00-0800 and 2030-02-09T20:00:00Z may be/
> >/presented as "2030-02-09 12:00" to users./
>
> And now you speak of presentation. But then why store it with
> 2030-02-09T12:00:00-0800 when you can store it as 2030-02-09T20:00:00Z
> and have representation be same "2030-02-09 12:00" to users.
>
> So that is only addition to programmer.
>
> Remember that not even databases store the time like that. It is
> either UTC time, or date, time, and some time zone stored separately.
>
> >/If timezone offset is changed both variants will converted to/
> >/"13:00" or "11:00" depending on sign of change./
>
> Correct. I understand you want to say that representation of time for
> that UTC time zone will be modified depnding of change, and that is
> correct.
>
> >/So the format with offset is human friendly because it gives a hint/
> >/concerning *probable* value of local time still remaining *precise*/
> >/in respect to UTC./
>
> This representation of time is human friendly:
> 2030-02-09 12:00 -0800 and that is the way how I daily see my
> timestamps, like this: 2023-02-12 12:59:52.839773+03
> which does not differ much from that one.
>
> However, my timestamp is only represented with +03 UTC offset. It is
> not stored with UTC offset.
>
> Storing values is not equal to representing values.
>
> - In other software values are not stored as "UTC time that has
> offset"
>
> - It is stored as "UTC time"
>
> - Offset is calculated from time zone and represented to user.
>
> Of course you need not follow what other software does.
>
> Though I think you need rather exact designation for users to
> unmistakably can understand what you mean with it:
>
> - Right now when I press C-c . I get: <2023-02-12 Sun>
>
> - C-u C-c . and I get <2023-02-12 Sun 13:03>
>
> - Then I can think you (developers) will invent something like:
> <2023-02-12 Sun 13:03 @Europe/Berlin> (whereby one has to avoid
> invalid time stamps), which is UTC time: 2023-02-12 12:03:00
>
> - Then I can think you would invent time stamp which you proposed,
> something like: <2023-02-12 12:00 -08:00> which in this case cannot
> have day representation, as one cannot know which day is that,
> right?
>
> And in this case that timestamp would mean it is 20:00 o'clock UTC
> time.
>
> And which can be replaced with <2023-02-12 20:00 @UTC>
>
> I am just not sure if that will be enough human friendly to say:
> <2023-02-12 12:00 -08:00> to people, as there is no designation that
> it is UTC time, and one cannot use "@UTC" as that would be wrong.
>
> Maybe designation is not necessary?
>
> When we consider how good calendars work, they will always ask user
> for the time zone. There is settings.
>
> And then if you write that event is on Sunday 20 o'clock, it will be
> considered 20 o'clock at that time zone.
>
> When you send it, it will be maybe converted to UTC time, but maybe
> not, maybe with time zone designation.
>
> In any case remote user will either get UTC time or date, time with
> time zone.
>
> Getting time representation with offset, to calculate UTC time seem
> redundant.
>
> But why not, it is possible.
>
> Will you do it, practically implement it?
>
> >/I find the following as acceptable, but confusing to some degree:/
> >//
> >/2030-02-09 12:00 -08/
> >//
> >/just because "-08" is currently used in TZ database as time zone/
> >/abbreviation (a string similar to "BST"), not as offset that is
> represented/
> >/in wide spread formats as -0800 or -08:00. Unfortunately the latter
> causes/
> >/ambiguity in the context of Org./
>
> That is why is better not to use TZ time zone abbreviation for future times!
>
> For past times, is somehow okay. For future no.
>
> Let me consult the database.
>
> #+BEGIN_SRC sql :engine postgresql :exports results :host localhost :cmdline
> :database rcdbusiness :dbuser maddox
> SELECT name, abbrev, utc_offset, is_dst
> FROM pg_timezone_names where abbrev = '-08';
> #+END_SRC
>
> #+RESULTS:
> | name | abbrev | utc_offset | is_dst |
> |------------------------+--------+------------+--------|
> | Etc/GMT+8 | -08 | -08:00:00 | f |
> | Pacific/Pitcairn | -08 | -08:00:00 | f |
> | posix/Etc/GMT+8 | -08 | -08:00:00 | f |
> | posix/Pacific/Pitcairn | -08 | -08:00:00 | f |
>
> In your example, you should not use time zone abbreviations to say
> that it is UTC time with offset.
>
> Better use accurate offset (which is not UTC offset, as that is changeable).
>
> This is better if you really wish to designate the time with offset
> which represents UTC time:
>
> 2030-02-09 12:00 -08:00
>
> Because you are rounding for no good reason! You have introduced new
> type of time storage, which is time with offset representing UTC time.
>
> While UTC offsets are mostly rounded, you are introducing not the UTC
> offset, but "offset".
>
> That means that following is also just fine:
>
> 2030-02-09 11:47 -08:12
>
> Which is not common. But you insist on using time with offset, that
> represents UTC time, however, then you should not be using "UTC
> offsets" for such representations, but leave to users what "offset" to
> add or deduce, for UTC calculation.
>
> I am against such storage, and representation, but either:
>
> - as UTC time, without offset
>
> - or as date, time, time zone, as UTC offset can be calculated in future time
> points
>
> But we can see that Org is different case, it is textual, not database.
>
> However, this time: <2023-02-12 13:29> was always considered floating,
> and then by changing anything it can become [2023-02-13 Mon 13:29],
> the day is "added" automatically.
>
> So one needs some "tag" for time represented as UTC time but with
> offset, like [2023-02-13 13:29 @TO-UTC -08:00]
>
> it cannot be "@UTC" as that is time zone. You have to invent how to
> represent it, that is unmistakable to other representations.
>
> --
> Jean
>
> Take action in Free Software Foundation campaigns:
> https://www.fsf.org/campaigns
>
> In support of Richard M. Stallman
> https://stallmansupport.org/
>
>
> *From*: Jean Louis
> *Subject*: Re: [POLL] Proposed syntax for timestamps with time zone
> info (was: [FEATURE REQUEST] Timezone support in org-mode datestamps
> and org-agenda)
> *Date*: Sun, 12 Feb 2023 13:32:21 +0300
> *User-agent*: Mutt/2.2.9+54 (af2080d) (2022-11-21)
>
--------------NMK7zZoGmIMtGR8MLOy0OTJj
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
Could it be reasonable to collect the hypothetical cases where
relative timestamps would be used?
So, alternatives and solutions could be evaluated more easily.
For example:
| External Input |
User's input | Org
output | Agenda output (local time) |
Org time storing |
|---------------------------------------------------------+----------------------------------+----------------------------------------+----------------------------+----------------------|
| Meeting at 09:37:54, 28 February 2023, in Foz do Iguaçu |
[2023-02-28 ma. 09:37 @UTC-3] | [2023-02-28 ma. 09:37
@UTC-3] | [2023-02-28 ma. 13:37] |
20230228T12:37:54,68 |
| Same case as above |
[2023-02-28 ma. 09:37 @timezone] | [2023-02-28 ma. 09:37
@UTC-3,timezone] | [2023-02-28 ma. 13:37] |
20230228T12:37:54,68 |
| Party at my home, tomorrow |
[2023-02-13 lu. 14:15] | [2023-02-13 lu. 14:15
@UTC+1,timezone] | [2023-02-13 lu. 14:15] |
20230213T13:15:54,68 |
- I didn't expect this: it is more difficult for me to find the
timezone, and to write it in the correct format, than to find the
UTC offset.
- Maybe org output should always show the time zone, since for
calculations
- Should convert show every timestamp timezone, so we know local
timezone is correct?
- Sorry for the table format, I don't know how to export it from
orgmode to thunderbird's mail editor.
* Max Nikulin <manikulin@gmail.com> [2023-02-11 07:47]:
> On 10/02/2023 10:29, Jean Louis wrote:
> > 2030-02-09 12:00 -08 @UTC -- this time CANNOT be said to be "fixed
> > UTC"
>
> I do not see any reason why obviously invalid timestamp draws so much
> attention.
>
> Resolution may be rather concise: behavior is *undefined* since field values
> are mutually inconsistent. Perhaps implementation may prefer to treat it as
> 2030-02-09T12:00:00-0800 discarding UTC as time zone specifier. `org-lint'
> should issue a warning requesting a user action.
Thank you!
I have demonstrated that Etar application from F-Droid would disregard
what is invalid and basically only enter valid time. Same for Google
calendar, it would disregard invalid timestamp (even though not
represented as above), and it would enter only valid one. PostgreSQL
will "silently" ignore what does not belong to it.
One can search for "silent" here:
https://www.postgresql.org/docs/current/datatype-datetime.html
> Could you explain what is wrong with the following (without timezone)?
>
> 2030-02-09 12:00 -0800
>
> I consider it as an unambiguous equivalent of 2030-02-09T20:00:00Z that is a
> UTC timestamp.
That is not same case as Ihor, when he designated it as
2030-02-09 12:00 -0800 @UTC
because there are no offsets @UTC time zone.
In this different case you wish to say that it is:
time of 2030-02-09 12:00 -0800 whereby -0800 is UTC offset from floating time
2030-02-09 12:00, and one can derive UTC time.
That is totally alright as representation of time. That is how past
timestamps are represented in local time.
Why not -- you can use it for future.
I find it less useful for exchange purposes, almost useless, but you
can do. Because if you store time as UTC, you can always see local
time anywhere in the world. But if programmers wish to do that to Org,
okay fine.
It is different time type representation, that does not exist in ISO
8601, but why not, you can include it in Org.
You just be sure that you put a "tag" or such representation that
users will know what is it, even from plain text.
> The format with explicit offset may be convenient for a person
> living in an area that *likely* will have -08:00 offset and who
> would like to watch some astronomical event such as lunar eclipse
> and who had a plan to connect to some telescope on the opposite side
> of the globe. Event time will not change if local time changed. Both
> variants 2030-02-09T12:00:00-0800 and 2030-02-09T20:00:00Z may be
> presented as "2030-02-09 12:00" to users.
And now you speak of presentation. But then why store it with
2030-02-09T12:00:00-0800 when you can store it as 2030-02-09T20:00:00Z
and have representation be same "2030-02-09 12:00" to users.
So that is only addition to programmer.
Remember that not even databases store the time like that. It is
either UTC time, or date, time, and some time zone stored separately.
> If timezone offset is changed both variants will converted to
> "13:00" or "11:00" depending on sign of change.
Correct. I understand you want to say that representation of time for
that UTC time zone will be modified depnding of change, and that is
correct.
> So the format with offset is human friendly because it gives a hint
> concerning *probable* value of local time still remaining *precise*
> in respect to UTC.
This representation of time is human friendly:
2030-02-09 12:00 -0800 and that is the way how I daily see my
timestamps, like this: 2023-02-12 12:59:52.839773+03
which does not differ much from that one.
However, my timestamp is only represented with +03 UTC offset. It is
not stored with UTC offset.
Storing values is not equal to representing values.
- In other software values are not stored as "UTC time that has
offset"
- It is stored as "UTC time"
- Offset is calculated from time zone and represented to user.
Of course you need not follow what other software does.
Though I think you need rather exact designation for users to
unmistakably can understand what you mean with it:
- Right now when I press C-c . I get: <2023-02-12 Sun>
- C-u C-c . and I get <2023-02-12 Sun 13:03>
- Then I can think you (developers) will invent something like:
<2023-02-12 Sun 13:03 @Europe/Berlin> (whereby one has to avoid
invalid time stamps), which is UTC time: 2023-02-12 12:03:00
- Then I can think you would invent time stamp which you proposed,
something like: <2023-02-12 12:00 -08:00> which in this case cannot
have day representation, as one cannot know which day is that,
right?
And in this case that timestamp would mean it is 20:00 o'clock UTC
time.
And which can be replaced with <2023-02-12 20:00 @UTC>
I am just not sure if that will be enough human friendly to say:
<2023-02-12 12:00 -08:00> to people, as there is no designation that
it is UTC time, and one cannot use "@UTC" as that would be wrong.
Maybe designation is not necessary?
When we consider how good calendars work, they will always ask user
for the time zone. There is settings.
And then if you write that event is on Sunday 20 o'clock, it will be
considered 20 o'clock at that time zone.
When you send it, it will be maybe converted to UTC time, but maybe
not, maybe with time zone designation.
In any case remote user will either get UTC time or date, time with
time zone.
Getting time representation with offset, to calculate UTC time seem
redundant.
But why not, it is possible.
Will you do it, practically implement it?
> I find the following as acceptable, but confusing to some degree:
>
> 2030-02-09 12:00 -08
>
> just because "-08" is currently used in TZ database as time zone
> abbreviation (a string similar to "BST"), not as offset that is represented
> in wide spread formats as -0800 or -08:00. Unfortunately the latter causes
> ambiguity in the context of Org.
That is why is better not to use TZ time zone abbreviation for future times!
For past times, is somehow okay. For future no.
Let me consult the database.
#+BEGIN_SRC sql :engine postgresql :exports results :host localhost :cmdline
:database rcdbusiness :dbuser maddox
SELECT name, abbrev, utc_offset, is_dst
FROM pg_timezone_names where abbrev = '-08';
#+END_SRC
#+RESULTS:
| name | abbrev | utc_offset | is_dst |
|------------------------+--------+------------+--------|
| Etc/GMT+8 | -08 | -08:00:00 | f |
| Pacific/Pitcairn | -08 | -08:00:00 | f |
| posix/Etc/GMT+8 | -08 | -08:00:00 | f |
| posix/Pacific/Pitcairn | -08 | -08:00:00 | f |
In your example, you should not use time zone abbreviations to say
that it is UTC time with offset.
Better use accurate offset (which is not UTC offset, as that is changeable).
This is better if you really wish to designate the time with offset
which represents UTC time:
2030-02-09 12:00 -08:00
Because you are rounding for no good reason! You have introduced new
type of time storage, which is time with offset representing UTC time.
While UTC offsets are mostly rounded, you are introducing not the UTC
offset, but "offset".
That means that following is also just fine:
2030-02-09 11:47 -08:12
Which is not common. But you insist on using time with offset, that
represents UTC time, however, then you should not be using "UTC
offsets" for such representations, but leave to users what "offset" to
add or deduce, for UTC calculation.
I am against such storage, and representation, but either:
- as UTC time, without offset
- or as date, time, time zone, as UTC offset can be calculated in future time
points
But we can see that Org is different case, it is textual, not database.
However, this time: <2023-02-12 13:29> was always considered floating,
and then by changing anything it can become [2023-02-13 Mon 13:29],
the day is "added" automatically.
So one needs some "tag" for time represented as UTC time but with
offset, like [2023-02-13 13:29 @TO-UTC -08:00]
it cannot be "@UTC" as that is time zone. You have to invent how to
represent it, that is unmistakable to other representations.
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
In support of Richard M. Stallman
https://stallmansupport.org/
From: |
Jean Louis |
Subject: |
Re: [POLL] Proposed syntax for timestamps with time zone
info (was: [FEATURE REQUEST] Timezone support in
org-mode datestamps and org-agenda) |
Date: |
Sun, 12 Feb 2023 13:32:21 +0300 |
User-agent: |
Mutt/2.2.9+54 (af2080d) (2022-11-21) |
--------------NMK7zZoGmIMtGR8MLOy0OTJj--