From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.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 WMulLG1RyWN8oAAAbAwnHQ (envelope-from ) for ; Thu, 19 Jan 2023 15:19:25 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id cOPKLG1RyWO36AAA9RJhRA (envelope-from ) for ; Thu, 19 Jan 2023 15:19:25 +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 7D4B53B405 for ; Thu, 19 Jan 2023 15:19:25 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pIVkG-0003Qe-3Q; Thu, 19 Jan 2023 09:18:24 -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 1pIVjf-0003IZ-7R for emacs-orgmode@gnu.org; Thu, 19 Jan 2023 09:17:49 -0500 Received: from stw1.rcdrun.com ([217.170.207.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pIVjc-0001l0-CY for emacs-orgmode@gnu.org; Thu, 19 Jan 2023 09:17:46 -0500 Received: from localhost ([::ffff:197.239.7.243]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 000000000010394D.0000000063C95106.00004567; Thu, 19 Jan 2023 07:17:41 -0700 Date: Thu, 19 Jan 2023 17:17:21 +0300 From: Jean Louis To: "Thomas S. Dye" Cc: Tim Cross , Ihor Radchenko , Daryl Manning , rjhorn@alum.mit.edu, emacs-orgmode@gnu.org Subject: Re: [FEATURE REQUEST] Timezone support in org-mode datestamps and org-agenda Message-ID: Mail-Followup-To: "Thomas S. Dye" , Tim Cross , Ihor Radchenko , Daryl Manning , rjhorn@alum.mit.edu, emacs-orgmode@gnu.org References: <63c66048.630a0220.427bf.a5f6@mx.google.com> <87r0vtiks0.fsf@localhost> <63c671c0.a70a0220.61aa5.56b8@mx.google.com> <87fsc88aq9.fsf@localhost> <63c7dd3d.170a0220.6b4d6.f84f@mx.google.com> <877cxk6oeu.fsf@localhost> <63c86454.170a0220.80970.652d@mx.google.com> <87wn5jf2to.fsf@tsdye.online> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <87wn5jf2to.fsf@tsdye.online> User-Agent: Mutt/2.2.9+54 (af2080d) (2022-11-21) Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_SBL=0.141, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1674137965; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Cq+LxusR2FTYG8atFt1BRlZAGL8lmAlxrHnCNjoLdIo=; b=n12V/+ydAlE7FdJZg0p7CTAYALm34BCtfv1zf7GoRIh34DNEbRWd+mhGmi+0NXaMI4WCv9 cUF509s3TFt2e6rvbRHIMP3KLUcGN2gKQeEKHo9Zepf1xWPhbvbG8oot7JXDFlN25Hnefw aEL2gJ2pXVXqTMYz5NNtNiZUEg+pr5k9cyRiEKJK6FwrDf4AxueNcXIaJFmHLwIXL/TF3x yc3HjxKA0xUpK5J87RJG7SzGPfLPi+Y26w6nPuqaz2m/mDVr3PDdldFEFbW1b2TWS+Q8F7 a9xrC0PP8zvzibuUtJDvdn8DUKWniBGbrUlLSp/pE27HgWS6treI/HCKQOAMKw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; 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" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1674137965; a=rsa-sha256; cv=none; b=JNlS36tRHWmsRfhKGp/BSvuI03DQjuUuaWyS5i9g5T5HryGLll4iGGMEYjvo0n2BXy5ekj 8coGAyjkrZ8CEEnisDblJqPNPZahEMnPsDAOhNMxqZ7PmN0+haiDDVxcmhtaC1EclPcYtY EXeaS7oZmsRCVjnTHSji33aSw2MDhC3kOzge/emvwcHv0+toPXq5wpVnYcZtLL7SGj+Q/a abNy3/yCXEUW5Yrt0erzi2YRj2uuaimIRIHybkoiX8/kfy5RgJoNIctfGB3DM8K650IxH3 AaOG6F7tuRmYFyhKv+bh/hG7CinvpMlxi4W2YCuI59eXKG9N4+j49paT7M4fxw== X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: 0.87 X-Spam-Score: 0.87 X-Migadu-Queue-Id: 7D4B53B405 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; 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-TUID: VBPFpSO21o+J * Thomas S. Dye [2023-01-19 09:37]: > Meetings are occurrences, which require absolute time, which has no > timezones. Org should record occurrences with timestamps in UTC, > possibly translating from the user's local time. User in Grece needs appointment at 9 o'clock, and writes it as: <2023-01-20 Fri 09:00> He also has TIMEZONE (either system or Org file based) set to "EET". That way the time has been recorded in UTC for Org purposes, and UTC has been solved. For Greek user it is completely solved. Org calculates UTC based on configured time zone. But when it is 16:00 o'clock in Greece, it is 06:00 in Seattle. Online appointment is sent to user in Seattle, with the time zone PST. He receives the Org file from Greece, at 8:00 o'clock, which has settings inside TIMEZONE="EET". At first user thinks that appointment is in just 1 hour, because he can see "08:00", but Org gracefully notifies user that appointment is (probably) in a different time zone, and asks user if user would like to have it displayed in PST time zone. User answers with "Yes" and on his screen appears that meeting is actually at <2023-01-20 Fri 23:00>, he prepares himself for longer evening, and waits for his Greek partner on Jitsi Meet: https://meet.jit.si/ to get online. It confirms your hypothesis, yes, all times are calculated as UTC, but all time stamps at export, sharing, or change of time zone, shall be displayable in understandable manner to human user. > > Org in this state can't handle such things. > > Org can do the useful thing: translate the UTC timestamp into local time and > report both UTC and local time. User will be able quickly to determine if > local time is incorrect for some reason, such as DST or travel. Other way around, it has to translate time stamp into UTC time in the first place. Expecting that all user among so many various time zones write their time stamps in UTC is not reasonable. Org users are advanced, I know, but majority of note takers with other applications will not even think of different time zones, it is surprise they get when dealing internationally. People are not ready for calculating or even viewing their own time in UTC time zone, unless they are English or Icelandic, Portuguese, or Africans in parts of the West Africa. > Storing timestamps in UTC solves the interval problem Ihor > raised. Intervals always make sense in absolute time. Moving them > to event time leads to the insanity Ihor mentioned. The other way around. Assuming that time stamps are UTC raises problems for all other people: https://upload.wikimedia.org/wikipedia/commons/8/88/World_Time_Zones_Map.png Org now does not support time stamps, right? So people write timestamps in their own time zone! Is it right? My time stamp here is <2023-01-19 Thu 17:12> now, what is yours? Forcing users to write time stamps in UTC would cause havoc. Thus time stamps already have their time zones, it is just not recorded in Org file. Options can be created so that: - user always and automatically record time zone in Org file, for example from system time zone, so that when first time property is invoked that it stays there: #+TIMEZONE: EET Or like this * TODO Appointment on Jitsy Meet with Greek investor DEADLINE: <2023-01-20 Fri 09:00> :PROPERTIES: :TIMEZONE: EET :END: or inside of the time zone. When such heading is read in Seattle, Washington, Org will tell to user or ask to translate it to PST time. In such translations, EET time is first converted to UTC, for reason of using system libraries, and not complicating Org, and then converted to PST time zone. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/