From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id UOshKvvXWGJ8nwAAgWs5BA (envelope-from ) for ; Fri, 15 Apr 2022 04:27:07 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id Gg5lJ/vXWGJlmAAA9RJhRA (envelope-from ) for ; Fri, 15 Apr 2022 04:27:07 +0200 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 1F9522FAB5 for ; Fri, 15 Apr 2022 04:27:07 +0200 (CEST) Received: from localhost ([::1]:46754 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nfBft-0000uF-2I for larch@yhetil.org; Thu, 14 Apr 2022 22:27:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44782) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nfBe7-0000tj-HH for emacs-orgmode@gnu.org; Thu, 14 Apr 2022 22:25:15 -0400 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]:43622) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nfBe5-0005TK-Ji for emacs-orgmode@gnu.org; Thu, 14 Apr 2022 22:25:15 -0400 Received: by mail-pg1-x52e.google.com with SMTP id u2so6279115pgq.10 for ; Thu, 14 Apr 2022 19:25:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:user-agent:from:to:cc:subject:date:in-reply-to :message-id:mime-version; bh=HwMdNJ6ak+323ZxGs0d+bOxNDCFLcb/dgY3UFpia4/0=; b=EaeYbOtQlSltJK7kqiDb0UFL2Mq2AYoqkpOfmF+9MSYv6I+XDMvDSDZhTgMrOtVYKF Jqo3/DXy66IM6n/3g5CXSYpNfFnO58HmmI9PWpl0TFM5M1dbOre6YSNm5ivFQZzViU3O zMGnaiagus3zhUUebalMkaCsqLpuoj0CbGLmESN7f2e+Ov6+7/RpMfnvhravG2ZuijPK FiIClY3uGcm4WpRUAKT/Yo3x8/C+ZnEJWrgAOq0+Ppr2x/fRpIQD9EwkHSfG3H6v1mkH kj7B4ASVT0Hc7RrM/cyVyBJOMEgQMIUN4DQPUKW/7v5MMHbQ/58A1M9V0+0gmCTz3sib a8PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:references:user-agent:from:to:cc:subject:date :in-reply-to:message-id:mime-version; bh=HwMdNJ6ak+323ZxGs0d+bOxNDCFLcb/dgY3UFpia4/0=; b=2thstqHT+RgzsrqqiNWL1XTioEiltOpNWW5ATuCtyg7T2A9QOr/27Vu1aujnZjmdYJ 8mofUc0tjWrJNllIWS48G2S8Im/McHFDRqzysM0CWCFn4EefZTO9rCjxXi8bR9dRWYWH gvPxRAICAzx4QOfwcyCYHDnhci4DoPS14a2dhOaP446Y831QUXa+jtKNaBKtoDnnUBBR xG3fqQ1T2Of5z4d123WA9CKqKdC9OyFFB1LVrcFSY2d0vGQdDc7/NK+B9wToUIp0Whvt 0bU3oVfd/5A13Q6007Kz0bf9OSqRrNmEPJpw07tTRSrEJf6ZWYbp10IoXQqYK8BOeLg3 itdQ== X-Gm-Message-State: AOAM533ItuvLQT8VI2dRd/MY1mKzGPKcBBb24RFZdOOae08kLQAodsEA hW71iIjV4cNnC0kdEukaH0E= X-Google-Smtp-Source: ABdhPJzOyV00geBB8f9imYp3SCGc/s1blSciTUXCAq3B8hvTI+VFWUT2/NyL3Ba8evS8SZmipPO/DQ== X-Received: by 2002:a65:4081:0:b0:381:6ff8:f4ba with SMTP id t1-20020a654081000000b003816ff8f4bamr4526737pgp.457.1649989509881; Thu, 14 Apr 2022 19:25:09 -0700 (PDT) Received: from dingbat (220-235-29-41.dyn.iinet.net.au. [220.235.29.41]) by smtp.gmail.com with ESMTPSA id v126-20020a622f84000000b004fa666a1327sm1104121pfv.102.2022.04.14.19.25.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Apr 2022 19:25:09 -0700 (PDT) References: <5ed963b2-3fa8-48d8-627e-bc0571d15b43@gmail.com> <149de00f-115b-5367-414f-c7700ef8966b@cs.ucla.edu> <2dd15844-01b3-0144-740c-185ec8488a81@cs.ucla.edu> <4a23f3a4-fe8f-d396-49d8-10034803be63@gmail.com> <52fb10fb-892a-f273-3be8-28793f27e204@cs.ucla.edu> User-agent: mu4e 1.7.12; emacs 28.1.50 From: Tim Cross To: Paul Eggert Subject: Re: bug#54764: encode-time: make DST and TIMEZONE fields of the list argument optional ones Date: Fri, 15 Apr 2022 12:14:35 +1000 In-reply-to: <52fb10fb-892a-f273-3be8-28793f27e204@cs.ucla.edu> Message-ID: <87lew7gk1q.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::52e; envelope-from=theophilusx@gmail.com; helo=mail-pg1-x52e.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, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Max Nikulin , emacs-orgmode@gnu.org, 54764@debbugs.gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1649989627; 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=HwMdNJ6ak+323ZxGs0d+bOxNDCFLcb/dgY3UFpia4/0=; b=JXThHYakC4XZ9MWXPDCgV4jQYnZLEQ2VZvfLFNEaKPVtGKj28OFK0k30MbpXMIS66hPwCm ezUwpqL40RBMNxa5V+89jb0Seo+/nPWV3txl4mp6LzcNtRiNPZn3tymskcaApDsRSDwli4 9Kt20TI0WLN8R4AAqxLzCNfjX75tCw6QsyUT/IbWTtohlGc/aQSybDJHYjr6/+EgZGiACo sH/fT2pXylhZhM5Emq3wKfciM2yKjAMRMX6EnehfDO2sJNEE1GzSd/7UsTB+I0u2m8CwZZ Lusr1pExwUhMDfGyiNrJLS0DAquplXGNxQZlIJMQ+FWZDPS9Nk5QXG2JLFlhQA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1649989627; a=rsa-sha256; cv=none; b=A0jQ/Nx9EB4hvH2NNZrEASR4ThjZVi9a8f4DogWzhm6mAsf0CDKwRoEwAzMshkS3CShpkG l1MEWW7qySFVOwyz0JmmkT9+g+zYLnbb+rmO5IdPukUOudEx5hEuB1DXSpO9uzQjsGpMBx 6O5h67VA5VJmX1kyBJrN19Ux6mxCjhtEBeXEtwUxUIpaeeO0SP2w0CnayIionVrlB/RP4p 7zfGLdJBvkklIFZWoGOFWyH1IhVkL6JJORblLtne5dGqI8dhUQtS1QuUvOegZAiTSAH6O+ KhfX49tgDXowvu2C8TaMJ3pPXWRijgiYSfjEetMvg0wLTlaIlXVbtqfoHcpsuw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=EaeYbOtQ; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Spam-Score: -4.04 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=EaeYbOtQ; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Queue-Id: 1F9522FAB5 X-Spam-Score: -4.04 X-Migadu-Scanner: scn1.migadu.com X-TUID: PzJF1vi7p7Lc Paul Eggert writes: > On 4/14/22 06:19, Max Nikulin wrote: > >> date-time + "America/Los_Angeles" input should not be reduced to timezone offset >> in the output. > > It depends on the application. For some applications (e.g., generating "Date:" lines > in email), it is entirely correct to output a timestamp like "14 Apr 2022 15:16:04 > -0700", thus losing the fact that the timestamp was generated with > TZ="America/Los_Angeles". > >> Zone internal object or identifier is important for calculation of other date-time values based on the origin value. > > Again, that depends on the application. It's typically wrong to store an old > timestamp in a form like "1950-07-01 00:00 Europe/Lisbon", because there is no > standard for what "Europe/Lisbon" means. If you update your copy of TZDB, or > interpret such a timestamp on another computer, that can change the interpretation of > such a timestamp. In this particular case, a change in TZDB release 2021b altered the > interpretation of this old timestamp because we discovered that DST was observed in > 1950 in Portugal. > > If you want to keep the TZDB identifier for advice about how to interpret dates > relative to a timestamp, that's fine. But you should keep the UT offset in addition > to the TZDB identifier, if you want your app to be fully accurate and useful. For > example, you should store "1950-07-01 00:00:00 +0000 Europe/Lisbon" for a timestamp > generated by TZDB release 2021a, so that when you interpret the timestamp in release > 2021b you'll have an idea of what you're dealing with. > I think this is a very important point. Timezone data is not static. If you only record the timezone name, offsets will be calculated using the current definition, which may not be correct for past timestamps. A good example of this is the DST values and the date when a TZ transitions between DST and non-DST periods. That date can change, either temporarily or permanently. That change can be days or even weeks. Any date related calculations which only have knowledge about TZ names and not the specific offset of a timestamp can therefore be out by a significant amount.