From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id teJyCsC8Z2ByHQAAgWs5BA (envelope-from ) for ; Sat, 03 Apr 2021 02:54:24 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id 4KqAA8C8Z2AmeQAAB5/wlQ (envelope-from ) for ; Sat, 03 Apr 2021 00:54:24 +0000 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 5D321CD2D for ; Sat, 3 Apr 2021 02:54:23 +0200 (CEST) Received: from localhost ([::1]:50772 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSUYP-0002vz-Lm for larch@yhetil.org; Fri, 02 Apr 2021 20:54:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34632) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSUY3-0002vm-Md for emacs-orgmode@gnu.org; Fri, 02 Apr 2021 20:53:59 -0400 Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]:39674) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lSUY0-0004ab-Vq for emacs-orgmode@gnu.org; Fri, 02 Apr 2021 20:53:59 -0400 Received: by mail-lf1-x129.google.com with SMTP id b4so9606399lfi.6 for ; Fri, 02 Apr 2021 17:53:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=BmKBSWqjBT0NfYPKN8NoUjuk/XYGpXl/ubCLIt+B6UM=; b=TqB4PIhn7y25B9FP5s95a6Tbjnx8TwukA4nc9SBs03Pw839fTid/lw8i1Cq+oXDRF5 KO5iI+jHTBK/jRM8y6ZE7wLLJZDDIVJQqSV5etCxt2h1WHJra6lTGGxAsXxfrBQ67Uy9 GGRIa8RkJtV/Yi713Ybi/B6t/HCNLmmFffwAcVPdDBuG6mQBQwZN5jGzGaToQ/Hp/kt2 +kzUKHrprr8ikZrqytyEFghAxgprUWvNe6hgvey65WgIhPn0LhAGMSoKTrvcCbxOsICq exbuHAEKmec0r69Ruj9QvEf0pEs9EgQWaaLHJa11H8rTvaGzgkQwKmBQty7Em+e1hAhG CEWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=BmKBSWqjBT0NfYPKN8NoUjuk/XYGpXl/ubCLIt+B6UM=; b=i1eU2W+wiNhpbJkb80SaXV2qhO9r0rJjC9WkMoMyU7wdEbEDfm+ZYqCYHUsQvBZhTA OGBQ6O8BRNIe26OWf5ifDVYAYjh3xUkyY9Ge2w1RXh/fGFl8FQ8tEsDaTySAym85E7Gt KFY2y7YRCh9pJzOlKHBBBQ+O++/Q84plgCxaz/QyEZMDa4sA32Dw6ys30dlndpqqnJFp biu2Pqc3e0D+SLdevIpek7GZSPhE/gL2GIDs+01H0IfR/yQJZQO5QB/IpryomMxVc9UG e96L3DAEkpDjwWojx6ljmf+I5lMt7dWcfBOxYEpZ9S8Zj3E60e93shdPB1IsHBNEZUNw Quvw== X-Gm-Message-State: AOAM531Jb22lS9BNnGRG8hTlBtkQaa4KJw6cSi0CkrPSZFhDVIAqXL04 L5Ud27lffze5nYAKRQQuYVNMMYVKBpiabtAktMs= X-Google-Smtp-Source: ABdhPJza6E+oBgbSndyNcP0obMQQW8SCLJyRHtdGACp2+BNbfWXJ75hpHG8pAxUnjjCUMBoQfqOKc+ZEbHP1gcgeaYU= X-Received: by 2002:a05:6512:2001:: with SMTP id a1mr10811048lfb.458.1617411235323; Fri, 02 Apr 2021 17:53:55 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:ab3:7842:0:0:0:0:0 with HTTP; Fri, 2 Apr 2021 17:53:54 -0700 (PDT) In-Reply-To: <1fdca9a5e7e91136d0c4b8d6a38d2ca3dbc0f7d4.camel@tesaguri.club> References: <87blawgrj3.fsf@gmail.com> <1fdca9a5e7e91136d0c4b8d6a38d2ca3dbc0f7d4.camel@tesaguri.club> From: Samuel Wales Date: Fri, 2 Apr 2021 17:53:54 -0700 Message-ID: Subject: Re: Idea for handling timezones To: Shironeko Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2a00:1450:4864:20::129; envelope-from=samologist@gmail.com; helo=mail-lf1-x129.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, 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.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Tim Cross , emacs-orgmode@gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1617411263; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=BmKBSWqjBT0NfYPKN8NoUjuk/XYGpXl/ubCLIt+B6UM=; b=sL/ZM1IaUU+OC1k5e0kcNkHw8Rgpf0vYaPEo0jwXkhOnY1ZeUVqexBKfe1cKoAkbnirXc7 70OvzYXjNBJF/K6BmGe11mEUeCoANRxtLT0WUyGZyTnjsmoyKIIq4BYxyTl1pGezO9vNRJ qPiZ++gb3F4Bf6LL+bpHygFmTzGHNFfu9jqvwcPVsdCKOm0M5eMJT00N0aKNy/nKpPUzU/ CqIE+uE+JE9dD8/zrc+ELIxrHPDj5XzeE9qYjtaPOrNY52MYJr+JVOlKTXXRDa/jUI3Aqp ylDmnWYC4ePSbyGzOqunGwkU8g/CwYc80tPuGrVrRzUUSZuxhmeqcXdKXLLGFg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1617411263; a=rsa-sha256; cv=none; b=fgPabfspwJ1YH5Aw7UiRdhCRYi/Nv4jBCKg3SjIkGwlnj2X/aXblKhOwJcZQdvjjXYbuJj Ghc+y1tOvBFj2yG7W1g2DQD2OXeAlu4bnYFbRFuncfDrDINfCxssVsgEsSTfrskKULR4HS 4m4jf8HhQjQJd8722q8IZTslSL4S5gRBP/ei4Mwhp8fLcMcXnmVvJYGq5THVfg6MB5QBp7 cD5cNynIoZp9g1QtRQ6kPOnFNg2Kpkjv29evdrrLOSGkV9yl3LWW/Ct0lz5oQ7dRc75lKW 7bn92f44mPk1WsuTW9ndGcipH4cQTeebDgWOyfeYQGVDalGE5eaph+/Os5KgOg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=TqB4PIhn; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Spam-Score: -3.13 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=TqB4PIhn; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: 5D321CD2D X-Spam-Score: -3.13 X-Migadu-Scanner: scn0.migadu.com X-TUID: /wz43fbcrbgT what i proposed is this. which uses text properties. it might not suit your needs, but might be a workaround. at least it is a brainstorm. suitable for wrapping fish. 1] convert all your tses to utc [exercise for the reader] 2] make org's idea of time be utc [there /might/ be code] 3] make org display local time and tz [see below] 3 is customizable: (info "(org) Custom time format") On 4/2/21, Shironeko wrote: > On Sat, 2021-04-03 at 10:37 +1100, Tim Cross wrote: >> >> 1. Timzone alone is not sufficient. Offsets from UTC change due to >> daylight savings times etc. >> >> 2. You can easily have timestamps from different timezones in the same >> org file >> >> 3. Storing timestamps in local time is problematic because of the >> inherent ambiguity this can have (again, due to daylight savings times >> and what occurs at the 'cut over' time). >> >> 4. Sometimes, you may want the timestamp to reflect the date/time as it >> was when recorded and don't want it to 'change' because your now viewing >> it in a different timezone etc. > > 1 and 3 is addressed by the use of tz database, it makes sure the timezone > conversion is lossless. 2 and 4 is really not the target for this proposal, > this > feature is completely optional and this is really meant to solve the "I want > to > see when I need to get my tasks done" which is a particular headache when > there > is timezone involved. > >> Personally, I think timestamp 'storage' and timestamp 'display' need to >> be treated separately. I also think all relevant information (timezone, >> offset) need to be stored with the timestamp. I also think the >> fundamental base timestamp should be stored as UTC, allowing all time >> calculations to be consistent (free of daylight savings time changes). >> The user can then manage how the value is displayed by setting timezone >> and offsets as appropriate (with perhaps the default being the local >> system settings or whatever offset/tz was stored with the timestamp >> itself). >> >> It is very difficult to predict or understand all the use cases for >> timestamps. Therefore, any scheme must be extremely flexible. Experience >> has taught me that one critical component is that at the lowest level, >> many problems are avoided if the value is in UTC. Problem is, UTC is not >> terribly human friendly. Luckily, this can largely be automated for many >> common use cases. Unfortunately, it does also mean that if you are >> someone who frequently moves between many timezones, your situation will >> be more complicated. >> >> ne of the most frustrating parts of working with timestamps is daylight >> saving times. This causes complications at so many levels. In >> particular, I hate the fact change over dates often change and more >> often than not, those changes are based around politics and at the whim >> of politicians, which makes programatic handling more complex than it >> needs to be. >> > > yes, this is why I want to avoid changing the timestamp itself, since that > will > never lead to working solutions soon. > > Regards, > shiro > > > -- The Kafka Pandemic Please learn what misopathy is. https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html