From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Ulf Zibis Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 00:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 26101@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.148953849526001 (code B ref -1); Wed, 15 Mar 2017 00:42:01 +0000 Received: (at submit) by debbugs.gnu.org; 15 Mar 2017 00:41:35 +0000 Received: from localhost ([127.0.0.1]:56144 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cnx0R-0006lJ-7B for submit@debbugs.gnu.org; Tue, 14 Mar 2017 20:41:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54566) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cnwd4-00060R-FD for submit@debbugs.gnu.org; Tue, 14 Mar 2017 20:17:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cnwcy-0000x0-Im for submit@debbugs.gnu.org; Tue, 14 Mar 2017 20:17:21 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42123) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cnwcy-0000ws-F7 for submit@debbugs.gnu.org; Tue, 14 Mar 2017 20:17:20 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45508) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cnwcx-00030I-6j for bug-coreutils@gnu.org; Tue, 14 Mar 2017 20:17:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cnwcs-0000tG-2J for bug-coreutils@gnu.org; Tue, 14 Mar 2017 20:17:17 -0400 Received: from mout.gmx.net ([212.227.17.22]:54005) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cnwcr-0000rQ-PP for bug-coreutils@gnu.org; Tue, 14 Mar 2017 20:17:13 -0400 Received: from [192.168.178.31] ([92.73.104.153]) by mail.gmx.com (mrgmx101 [212.227.17.168]) with ESMTPSA (Nemesis) id 0MfiFU-1cbw5R3oZg-00NCJt for ; Wed, 15 Mar 2017 01:17:10 +0100 From: Ulf Zibis Message-ID: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> Date: Wed, 15 Mar 2017 01:17:07 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms040209040508030105080700" X-Provags-ID: V03:K0:iT2YAec97kdVhPT6JAOfTAPLf2tTHBQ7q5eELCm58z5zE1z5Irw MZ9AnCDxsn9nibWaTiOCEOyAWSqdSs1rWVdNA2sP4YwfR/ZicUTSbFva1/KMaPHIEqnVtKG 0ygnroysrPqNdq47RqlaGODYMLipmwEWic6gUenj3Qp5wk1azQLrUfK56MVEW3kPnBl/HTP mD1+ycVJ6Uxk8d2eDQpmg== X-UI-Out-Filterresults: notjunk:1;V01:K0:z47pQ49XkdY=:ZPlqM7FQOUwtIuUjnm/94b BO1xFANp2TB8lkyotZhBNvqz3bfQ9w8l/XuFrDetIM1+aVCvtZWPVqUN5UW+t+RTolhrHRk+i oGdyC9xy6uzLW7aADJzSYpt+hhDmeJ0K8qEKQTsIkJsGYJel07eH5Y/GNvBEwWaXalPoNc3pa 0/20JAYlp0oaSP974w8aqlRioky7dl4I7jZHkY4b47sMP3fMAfcBNngdZZzy94z3w7TOclb4z B/7BTuJk8CD35HaQVDR7C++OLaxAMmgOdSmcac3pZSUrw8v89IRREHEvSCbSRvOjryGcaVNFm RqfDMYgkupYSg75C00skRhhFM9wOsPktmR2QbhddawXcL/xCOyningKvfp7bE1ciAPwPJ9cTb YatNUNo2SSqPL1nP5AlVXdkIlURJgjc1GNTNwlD3hmTIQpLOgVmrZprU6JQkuzJfyP3ai+Vaf De6t9c2gWgeeUCZz6QDPibiOT3GSFxMGgEHPoKRVUIwGaryxWBA0yftoinsn6+s+cLvvw1er1 q56XnPLRudD+YPe6sxQ5tY/HtsiNcBbyudAb5sKKLIqJb1ek6QrfHISrlJt79AFcmCSayG5ht AB5iJgnv+h1JsmAQj6BiU57iNcdDWiYnt5J7mksN9ZoA7cYpGumnyk92U+KP8YvOKY7dj7/nV m1IJpPy7NiHxsmsJ0re5JFVr3h42ftUBq81cvVHmKCUR+5ZQXgBCV1ywTLjjE8KHursoLTWfN b+QGAIFEryS94KxtnfjbJnhEyyxDhf62j8PszmaXotsSTPKFUzKo768bwxU= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Mailman-Approved-At: Tue, 14 Mar 2017 20:41:32 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) This is a cryptographically signed message in MIME format. --------------ms040209040508030105080700 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi, with $ date -r test I get: Di 10. Jan 22:39:14 CET 2017 but with $ date -d "$(($(date -r test +%s)-$(date +%s))) seconds -2 months" I get: Sa 12. Nov 22:39:14 CET 2016 I think the better result would be according to a calculation order from = left to right: Sa 10. Nov 22:39:14 CET 2016 Otherwise it seems impossible to correctly change the time stamp of a=20 file relative to its current value. Example: $ touch -t $(date -d "$(($(date -r test +%s)-$(date +%s))) seconds=20 -2 months" +%Y%m%d%H%M.%S) test Additionally the command is not correctly reversible with: $ touch -t $(date -d "$(($(date -r test +%s)-$(date +%s))) seconds=20 +2 months" +%Y%m%d%H%M.%S) test Regards Ulf --------------ms040209040508030105080700 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC BXcwggVzMIIDW6ADAgECAgMSQdMwDQYJKoZIhvcNAQENBQAweTEQMA4GA1UEChMHUm9vdCBD QTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNp Z25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcwHhcN MTYwODA3MTY1OTQ0WhcNMTgwODA3MTY1OTQ0WjA7MRgwFgYDVQQDEw9DQWNlcnQgV29UIFVz ZXIxHzAdBgkqhkiG9w0BCQEWEFVsZi5aaWJpc0BnbXguZGUwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCfGqu3hGvq9SxR3eMMy7m1OuKnBMGQji89U8/K3CXqTtczNvysOqTD ePnzjLqRhZU7MPwQnSRQq1ZWO4Q5GAjZUOEh1xseQfk3TmPSUVMKPboqjOYJ11zCDt6RWULK SvNvyNMU6IUGmlIbCbbWV4vNFa8wMVFTUdATXaB9ySLD8Evb46JsU7KEaZdQaYGsLu+JdhZi jLRHMuU7nPxjF1rhrq0PyuXkrrnsUUQCecMHcOISuEYz6gIVE803ht7KS/pQ2BCC9XVl8d1l 8tNI/wp7NCGuUclzwIIIpQtwrNgawFQ6/2y3aMAevh/w9qw0Vx4IdYl2P3USjSQs3HQitZIf AgMBAAGjggFAMIIBPDAMBgNVHRMBAf8EAjAAMFYGCWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91 ciBvd24gY2VydGlmaWNhdGUgZm9yIEZSRUUgaGVhZCBvdmVyIHRvIGh0dHA6Ly93d3cuQ0Fj ZXJ0Lm9yZzAOBgNVHQ8BAf8EBAMCA6gwQAYDVR0lBDkwNwYIKwYBBQUHAwQGCCsGAQUFBwMC BgorBgEEAYI3CgMEBgorBgEEAYI3CgMDBglghkgBhvhCBAEwMgYIKwYBBQUHAQEEJjAkMCIG CCsGAQUFBzABhhZodHRwOi8vb2NzcC5jYWNlcnQub3JnMDEGA1UdHwQqMCgwJqAkoCKGIGh0 dHA6Ly9jcmwuY2FjZXJ0Lm9yZy9yZXZva2UuY3JsMBsGA1UdEQQUMBKBEFVsZi5aaWJpc0Bn bXguZGUwDQYJKoZIhvcNAQENBQADggIBAJ08P6jBx0XuOOn0ZiGDMUd6JLMH4SauhjoJ0Xe1 Dm3djZl5N420nQLPefRIiJj3HufH/FBBpr/KlvGpvm0WlDnyjwVAw79EgpsQQZH/HiVgb1ay upSEptSEIXqaKOYNfT1izVnsOU/+JUzPbEajfbOiYCx42/an2/y5GzYUZ5ftyvV1W3lvHEgP TAOZSpGUisgC5WQnFhm59c90qgpRzdW/OMOyMFlNDfKinyCDUXN/FA8hZ7XKqDS8Z8ZynS8y 4UxdWnp2HB+Mbq8GMnv7RsSb5vE8Om4nmMTDnaS5PDA6sa+ZIppmEoxMR7cRpbX5tl52iaJN ZtkW+zxan60qSmLyVsu1x3CjCzPxKUE3DgEcBfpdsaDrv/Hx3gucyCtcdgo2dtTMEILoUIaY 4dtV0TmwgMgj7fNBIleUPAIBq2OaiPhR5DdSGEDK63P1FvzeAV6VT1ETFsZfxcNimjfawnhF XOWIvZRjQ2CETETNaYLRBCdTtO6qm8wN4ANNlvmQluxhC9Rpe9r32oWir4MuGrgqLFaQweTh Qvk8/CV7pIMBAmumdm/4gthA3kYrl6Oywa+mkhUNewDqlg+6vGLtaL/Vft0NDOs0Xa4qKYK8 b9L5ehOxfA4tdHh6yELo/8eF7ATosWt/Jmigc5ygmpYkMf0N77UecVgI6i/kshDtF1zKMYID sTCCA60CAQEwgYAweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5j YWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZI hvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcCAxJB0zANBglghkgBZQMEAgEFAKCCAgEwGAYJ KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTcwMzE1MDAxNzA3WjAv BgkqhkiG9w0BCQQxIgQgu7G0xnfIoRG7hGwqFMqkh0zI9xt+zN/ON4yg+d1p8zEwbAYJKoZI hvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBkQYJ KwYBBAGCNxAEMYGDMIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93 d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8G CSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwgZMGCyqGSIb3DQEJEAILMYGD oIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9y ZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS c3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwDQYJKoZIhvcNAQEBBQAEggEAKSUY4KJ5zQN9MF5L ugq8VswCKTaE7VZizkQp845HcokOvM46er3JI5y7ZZ+yWDRincpqqy3dRC+F9eyH9eZF/798 ZHbcYkKHaDBeqSgHvcHre6q7pBPYiRExT+h9YgexWpCOBX6nQCEO5iTwDCL53wr2yRYOFrHn kj6n5J5vTvHWc4CmNwhrTcWLtpKcGZ2DirMooMV4p4zs6xAEKDv5UR25wZl+7SLVJhSkXkZg wwmAzCRyRzKaYhjKFrZl5uIlC+Q93F4d2QyWxIYzauxaj6DJI2LXxAXg1Ycn/5AzlVrOoeHu 2ZIc+1CEhO2o6LfasU+7KyUSpEzezPQx74f+2gAAAAAAAA== --------------ms040209040508030105080700-- From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Eric Blake Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 01:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Ulf Zibis , 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.148954092929601 (code B ref 26101); Wed, 15 Mar 2017 01:23:02 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 01:22:09 +0000 Received: from localhost ([127.0.0.1]:56167 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cnxdh-0007hN-A6 for submit@debbugs.gnu.org; Tue, 14 Mar 2017 21:22:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33836) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cnxde-0007gs-Ph for 26101@debbugs.gnu.org; Tue, 14 Mar 2017 21:22:07 -0400 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D8923C04B94A; Wed, 15 Mar 2017 01:22:01 +0000 (UTC) Received: from [10.10.121.52] (ovpn-121-52.rdu2.redhat.com [10.10.121.52] (may be forged)) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v2F1M02L001169; Tue, 14 Mar 2017 21:22:01 -0400 References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> From: Eric Blake Openpgp: url=http://people.redhat.com/eblake/eblake.gpg Organization: Red Hat, Inc. Message-ID: Date: Tue, 14 Mar 2017 20:21:59 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="8u7F59XlF2LATQe8PGcRXuDdlKSg6b3MM" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 15 Mar 2017 01:22:01 +0000 (UTC) X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --8u7F59XlF2LATQe8PGcRXuDdlKSg6b3MM Content-Type: multipart/mixed; boundary="Og8WkGMxUgOFLPA9paifcRG0wwiWOAS7u"; protected-headers="v1" From: Eric Blake To: Ulf Zibis , 26101@debbugs.gnu.org Message-ID: Subject: Re: bug#26101: Counterproductive calculation order in date References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> In-Reply-To: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> --Og8WkGMxUgOFLPA9paifcRG0wwiWOAS7u Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 03/14/2017 07:17 PM, Ulf Zibis wrote: > Hi, >=20 > with > $ date -r test > I get: > Di 10. Jan 22:39:14 CET 2017 > but with > $ date -d "$(($(date -r test +%s)-$(date +%s))) seconds -2 months" > I get: > Sa 12. Nov 22:39:14 CET 2016 Let's try this with the new --debug option of 8.26 (although I'm in a different timezone, and not using localized strings, hopefully the concept gets through): $ date -r ChangeLog Wed Jan 11 17:11:02 CST 2017 $ date --debug -d "$(($(date -r ChangeLog +%s)-$(date +%s))) seconds -2 months" date: parsed relative part: -5363514 seconds date: parsed relative part: -2 month(s) -5363514 seconds date: input timezone: -06:00 (set from system default) date: using current time as starting value: '20:02:56' date: using current date as starting value: '(Y-M-D) 2017-03-14' date: starting date/time: '(Y-M-D) 2017-03-14 20:02:56 TZ=3D-06:00' date: warning: when adding relative months/years, it is recommended to specify the 15th of the months date: after date adjustment (+0 years, -2 months, +0 days), date: new date/time =3D '(Y-M-D) 2017-01-14 19:02:56 TZ=3D-06:00' date: warning: daylight saving time changed after date adjustment date: '(Y-M-D) 2017-01-14 19:02:56 TZ=3D-06:00' =3D 1484442176 epoch-seco= nds date: after time adjustment (+0 hours, +0 minutes, -5363514 seconds, +0 n= s), date: new time =3D 1479078662 epoch-seconds date: output timezone: -06:00 (set from system default) date: final: 1479078662.653491329 (epoch-seconds) date: final: (Y-M-D) 2016-11-13 23:11:02 (UTC0) date: final: (Y-M-D) 2016-11-13 17:11:02 (output timezone TZ=3D-06:00) Sun Nov 13 17:11:02 CST 2016 >=20 > I think the better result would be according to a calculation order fro= m > left to right: > Sa 10. Nov 22:39:14 CET 2016 What calculation are you trying to achieve? The inner $(()) computes the difference between two dates: the reference file timestamp, and the current time, resulting in a negative offset in seconds. The outer date computation (where I ran --debug) then sees only two relative values - a negative seconds offset, and a negative months offset, both applied from the current time as the starting point. >=20 > Otherwise it seems impossible to correctly change the time stamp of a > file relative to its current value. Wait - so you're trying to shift a file's time stamp by a fixed amount, such as by 2 months? Doesn't that imply that the outer date should see the file's timestamp as one of its starting points, rather than being left to start from the current time as its starting point? > Example: > $ touch -t $(date -d "$(($(date -r test +%s)-$(date +%s))) seconds > -2 months" +%Y%m%d%H%M.%S) test So what's wrong with: $ date --debug -d "Jan 1 1970 $(date -r ChangeLog +%s) seconds -2 months"= date: parsed date part: (Y-M-D) 2017-01-01 date: parsed number part: year: 1970 date: parsed relative part: +1484176262 seconds date: parsed relative part: -2 month(s) +1484176262 seconds date: input timezone: -06:00 (set from system default) date: warning: using midnight as starting time: 00:00:00 date: starting date/time: '(Y-M-D) 1970-01-01 00:00:00 TZ=3D-06:00' date: warning: when adding relative months/years, it is recommended to specify the 15th of the months date: after date adjustment (+0 years, -2 months, +0 days), date: new date/time =3D '(Y-M-D) 1969-11-01 00:00:00 TZ=3D-06:00' date: '(Y-M-D) 1969-11-01 00:00:00 TZ=3D-06:00' =3D -5248800 epoch-second= s date: after time adjustment (+0 hours, +0 minutes, +1484176262 seconds, +0 ns), date: new time =3D 1478927462 epoch-seconds date: output timezone: -06:00 (set from system default) date: final: 1478927462.000000000 (epoch-seconds) date: final: (Y-M-D) 2016-11-12 05:11:02 (UTC0) date: final: (Y-M-D) 2016-11-11 23:11:02 (output timezone TZ=3D-06:00) Fri Nov 11 23:11:02 CST 2016 which is two months prior to the timestamp? But you may have found a real bug (or at least something we can enhance). We document that +%s can be reversed: $ date -r ChangeLog +%s 1484176262 $ date -r ChangeLog Wed Jan 11 17:11:02 CST 2017 $ date -d @1484176262 Wed Jan 11 17:11:02 CST 2017 But awkwardly, we refuse to allow @seconds to be used as a starting point for relative operations: $ date --debug -d "@$(date -r ChangeLog +%s) -2 months" date: parsed number of seconds part: number of seconds: 1484176262 date: error: parsing failed, stopped at ' months' src/date: invalid date =E2=80=98@1484176262 -2 months=E2=80=99 Also, since you're using GNU date, you're probably using GNU touch, which means you can use touch -d instead of touch -t to set the time of the file, with a LOT less notational overhead, and in a reversible manner relative to a timestamp: $ : > foo $ touch -d '-2 months' -r foo foo $ ls -l foo -rw-rw-r--. 1 eblake eblake 0 Jan 14 19:19 foo $ touch -d '+2 months' -r foo foo $ ls -l foo -rw-rw-r--. 1 eblake eblake 0 Mar 14 20:19 foo I'm leaving this open, in case someone wants to tackle the notion of making @seconds + relative offset a valid parse. But I think your initial use case is already feasible without any changes to the current version of date and touch that you are using. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --Og8WkGMxUgOFLPA9paifcRG0wwiWOAS7u-- --8u7F59XlF2LATQe8PGcRXuDdlKSg6b3MM Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJYyJc3AAoJEKeha0olJ0NqiOcIAK5o7pDZtiTu+GvKrSao8wMn w7tVfphRkkRfgJy2LOWrak4q9lLH44z9tcF06JtwnvHlcqNQOK7mpaEHymu9GOxh M5sz7eI5emf04QSf56oxtZTqpU63zWoxRiU6BOEZBOp9LDQatBd/ImvZsaWYSQpJ xpZykhgLiObYWPmf/Ld8J4EWf7TqpQexHvrvV2GdB+xmwkotzVvPxCvtucXYEOZ0 49QlP7YmTn0Y9TQLWopNkVzr69MI90BjHEE7IDYkmiJEn4Ul9XjPmwMvaqnQ1nJj alQlGMGYyK8IyfPQcGpAJeBAUJtRJ6UCe4X31KFyBov4cU2nlt1dYVfR6jkoj4Q= =txru -----END PGP SIGNATURE----- --8u7F59XlF2LATQe8PGcRXuDdlKSg6b3MM-- From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Ulf Zibis Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 12:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 26101@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.14895806488177 (code B ref -1); Wed, 15 Mar 2017 12:25:01 +0000 Received: (at submit) by debbugs.gnu.org; 15 Mar 2017 12:24:08 +0000 Received: from localhost ([127.0.0.1]:56397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1co7yK-00027p-Cl for submit@debbugs.gnu.org; Wed, 15 Mar 2017 08:24:08 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59404) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1co7yH-00027I-B6 for submit@debbugs.gnu.org; Wed, 15 Mar 2017 08:24:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1co7yB-0003Nw-0g for submit@debbugs.gnu.org; Wed, 15 Mar 2017 08:24:00 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=BAYES_50,FREEMAIL_FROM, RCVD_IN_SORBS_SPAM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:50544) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1co7yA-0003No-Tu for submit@debbugs.gnu.org; Wed, 15 Mar 2017 08:23:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50364) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1co7y9-0003Rm-DP for bug-coreutils@gnu.org; Wed, 15 Mar 2017 08:23:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1co7y4-0003Lq-Bz for bug-coreutils@gnu.org; Wed, 15 Mar 2017 08:23:57 -0400 Received: from mout.gmx.net ([212.227.17.20]:64083) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1co7y3-0003LX-VH for bug-coreutils@gnu.org; Wed, 15 Mar 2017 08:23:52 -0400 Received: from [192.168.178.31] ([92.72.206.9]) by mail.gmx.com (mrgmx102 [212.227.17.168]) with ESMTPSA (Nemesis) id 0M96Jd-1cvX202J81-00CRBY for ; Wed, 15 Mar 2017 13:23:49 +0100 References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> From: Ulf Zibis Message-ID: <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> Date: Wed, 15 Mar 2017 13:23:48 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms050300020505010709060201" X-Provags-ID: V03:K0:Cm02HUD/9OwC2lBX+oxjYna9aZNm8bGT9IA9A1nwFJddmD2KrbK 9AIab2G/9jq2tewWJKmg8xjS4UM0SA4Z6GBEAswUwCFUxEh9WLqqZQabZSX3d4nt1l4y5xI GBWrvZzKfE9w+AlnAEgRAcvSHBk/75xpyVKQkhWxTkJ/JZ6ooodT+4wctD/3y8toSWsWcUD hY/VU6tVg9v5waStqZp0Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:doVj37OfWg0=:CNAD3RyNhvsn5gAwCvla0m uRF17wARId7CozAtUoB+BITjcYya7VJ6Lnaah7wVpMo2SjBurh+R9LNJa2kJPVSOJ+Di4aFQ9 PPqpl4kUNEoyUDFxS+c8j7BY7r3vmhjPKeNnYer7X45tGUXOq24GPh6WNVf78jZ+rjSsABL6O AFsof0JCTR/x+vFMg0sVIwEPxGvv7dVnALJdkOvbOTuylwhoGrVidd07+TvgO6W+847MCztuI uY7ToswEvubwTkR5LG4jqUmO3G+JT1i4CV+LE32a58jCvgahz+Ov/iqyCkdL8FZTg2PfbTuof NzZ0lc0yyRd/HXHfhrO/l8D6gkG6RWDyllztNi3E+iZpAl2DahOTwAClNGxEdXhkCmOTaeSqW 2wlX1YJe/LETl5lLmpjxRiwulA4Lc1KT0T5W95DeTO9Kp0Ml5ip2AWp2lAFjIi5+gh+iReb0q eAUUibPxYOYsbI6B3KUH8dDJFMryyY5t7M3rm2vyIw3ixOZJYNyJMjXQdNAVAPaBW31tI5ORH wI+0XBffSZLfG2fe35Q4yy25vpSZ1HLbMsvBAfRQDGjDOifOxOZZiQRBP8AfVe8Ga4fdvetSC txOmt4eGhoKawtiIKOt/bcOl9gFxklISZ/AkpgzTCYumDHSKEZ+oHLra1BODnN1YyzYyJOPbv /REyrhs4Jp5Yp3PExkB25FA3x2s5MxXuJho4OkvGWiJjB+QGrAMOAGxQ+erfa5XP3G8oqY5lo hMcmvWY/p9wOeZxIMaDxqZ3XBcAlvocgB0u7krvF1SepRh9vgDmQ8+p5bM0= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -3.6 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.6 (---) This is a cryptographically signed message in MIME format. --------------ms050300020505010709060201 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Eric, much thanks for your detailed examination. Am 15.03.2017 um 02:21 schrieb Eric Blake: > Let's try this with the new --debug option of 8.26 Great, but current version of my Ubuntu is 8.25 > $ date --debug -d "$(($(date -r ChangeLog +%s)-$(date +%s))) seconds -2= > months" > date: parsed relative part: -5363514 seconds > date: parsed relative part: -2 month(s) -5363514 seconds Why not: date: parsed relative part: -5363514 seconds -2 month(s) A more simple example without touch: $ date +%F 2017-03-15 $ date -d "-20 day" +%F 2017-02-23 $ date -d "-20 day -2 month" +%F 2016-12-26 $ date -d "-2 month -20 day" +%F 2016-12-26 In the 2nd example I would expect: 2016-12-23 > > What calculation are you trying to achieve? The inner $(()) computes th= e > difference between two dates: the reference file timestamp, and the > current time, resulting in a negative offset in seconds. The outer dat= e > computation (where I ran --debug) then sees only two relative values - = a > negative seconds offset, and a negative months offset, both applied fro= m > the current time as the starting point. > >> Otherwise it seems impossible to correctly change the time stamp of a >> file relative to its current value. > Wait - so you're trying to shift a file's time stamp by a fixed amount,= > such as by 2 months? Doesn't that imply that the outer date should see= > the file's timestamp as one of its starting points, rather than being > left to start from the current time as its starting point? Yes, but I failed with (a) combining -r and -d and (b) setting an=20 absolute starting point e.g.: $ date -d "$(date -r test) -2 month" date: ung=C3=BCltiges Datum =C2=BBDi 10. Jan 22:39:00 CET 2017 -2 month=E2= =80=9C So I did this "trick", because I didn't see a chance to directly allow a = reference file timestamp as starting point. > So what's wrong with: > $ date --debug -d "Jan 1 1970 $(date -r ChangeLog +%s) seconds -2 month= s" > date: parsed date part: (Y-M-D) 2017-01-01 > date: parsed number part: year: 1970 > date: parsed relative part: +1484176262 seconds > date: parsed relative part: -2 month(s) +1484176262 seconds > date: input timezone: -06:00 (set from system default) > date: warning: using midnight as starting time: 00:00:00 > date: starting date/time: '(Y-M-D) 1970-01-01 00:00:00 TZ=3D-06:00' > date: warning: when adding relative months/years, it is recommended to > specify the 15th of the months > date: after date adjustment (+0 years, -2 months, +0 days), > date: new date/time =3D '(Y-M-D) 1969-11-01 00:00:00 TZ=3D-06:00' > date: '(Y-M-D) 1969-11-01 00:00:00 TZ=3D-06:00' =3D -5248800 epoch-seco= nds > date: after time adjustment (+0 hours, +0 minutes, +1484176262 seconds,= > +0 ns), > date: new time =3D 1478927462 epoch-seconds > date: output timezone: -06:00 (set from system default) > date: final: 1478927462.000000000 (epoch-seconds) > date: final: (Y-M-D) 2016-11-12 05:11:02 (UTC0) > date: final: (Y-M-D) 2016-11-11 23:11:02 (output timezone TZ=3D-06:00) > Fri Nov 11 23:11:02 CST 2016 > > which is two months prior to the timestamp? This example may work, because the shortness of february is not involved.= > Also, since you're using GNU date, you're probably using GNU touch, > which means you can use touch -d instead of touch -t to set the time of= > the file, with a LOT less notational overhead, and in a reversible > manner relative to a timestamp: > > $ : > foo > $ touch -d '-2 months' -r foo foo > $ ls -l foo > -rw-rw-r--. 1 eblake eblake 0 Jan 14 19:19 foo > $ touch -d '+2 months' -r foo foo > $ ls -l foo > -rw-rw-r--. 1 eblake eblake 0 Mar 14 20:19 foo Wow, much thanks, I didn't know that touch (a) would allow relative=20 dates and (b) would allow to combine -r and -d and even in the weird=20 order of -d -r. > I'm leaving this open, Thanks. So I see several points for enhancement: - Allow @seconds in -d option, even for touch. - Document the '@' syntax not only as example. - For date document if combination of -r -d (and others) is allowed. - For touch document if combination of -r -d (and others) is allowed. - For date allow combination of -r -d (maybe even more). - Calculate terms of -d option from left to right. --------------ms050300020505010709060201 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC BXcwggVzMIIDW6ADAgECAgMSQdMwDQYJKoZIhvcNAQENBQAweTEQMA4GA1UEChMHUm9vdCBD QTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNp Z25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcwHhcN MTYwODA3MTY1OTQ0WhcNMTgwODA3MTY1OTQ0WjA7MRgwFgYDVQQDEw9DQWNlcnQgV29UIFVz ZXIxHzAdBgkqhkiG9w0BCQEWEFVsZi5aaWJpc0BnbXguZGUwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCfGqu3hGvq9SxR3eMMy7m1OuKnBMGQji89U8/K3CXqTtczNvysOqTD ePnzjLqRhZU7MPwQnSRQq1ZWO4Q5GAjZUOEh1xseQfk3TmPSUVMKPboqjOYJ11zCDt6RWULK SvNvyNMU6IUGmlIbCbbWV4vNFa8wMVFTUdATXaB9ySLD8Evb46JsU7KEaZdQaYGsLu+JdhZi jLRHMuU7nPxjF1rhrq0PyuXkrrnsUUQCecMHcOISuEYz6gIVE803ht7KS/pQ2BCC9XVl8d1l 8tNI/wp7NCGuUclzwIIIpQtwrNgawFQ6/2y3aMAevh/w9qw0Vx4IdYl2P3USjSQs3HQitZIf AgMBAAGjggFAMIIBPDAMBgNVHRMBAf8EAjAAMFYGCWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91 ciBvd24gY2VydGlmaWNhdGUgZm9yIEZSRUUgaGVhZCBvdmVyIHRvIGh0dHA6Ly93d3cuQ0Fj ZXJ0Lm9yZzAOBgNVHQ8BAf8EBAMCA6gwQAYDVR0lBDkwNwYIKwYBBQUHAwQGCCsGAQUFBwMC BgorBgEEAYI3CgMEBgorBgEEAYI3CgMDBglghkgBhvhCBAEwMgYIKwYBBQUHAQEEJjAkMCIG CCsGAQUFBzABhhZodHRwOi8vb2NzcC5jYWNlcnQub3JnMDEGA1UdHwQqMCgwJqAkoCKGIGh0 dHA6Ly9jcmwuY2FjZXJ0Lm9yZy9yZXZva2UuY3JsMBsGA1UdEQQUMBKBEFVsZi5aaWJpc0Bn bXguZGUwDQYJKoZIhvcNAQENBQADggIBAJ08P6jBx0XuOOn0ZiGDMUd6JLMH4SauhjoJ0Xe1 Dm3djZl5N420nQLPefRIiJj3HufH/FBBpr/KlvGpvm0WlDnyjwVAw79EgpsQQZH/HiVgb1ay upSEptSEIXqaKOYNfT1izVnsOU/+JUzPbEajfbOiYCx42/an2/y5GzYUZ5ftyvV1W3lvHEgP TAOZSpGUisgC5WQnFhm59c90qgpRzdW/OMOyMFlNDfKinyCDUXN/FA8hZ7XKqDS8Z8ZynS8y 4UxdWnp2HB+Mbq8GMnv7RsSb5vE8Om4nmMTDnaS5PDA6sa+ZIppmEoxMR7cRpbX5tl52iaJN ZtkW+zxan60qSmLyVsu1x3CjCzPxKUE3DgEcBfpdsaDrv/Hx3gucyCtcdgo2dtTMEILoUIaY 4dtV0TmwgMgj7fNBIleUPAIBq2OaiPhR5DdSGEDK63P1FvzeAV6VT1ETFsZfxcNimjfawnhF XOWIvZRjQ2CETETNaYLRBCdTtO6qm8wN4ANNlvmQluxhC9Rpe9r32oWir4MuGrgqLFaQweTh Qvk8/CV7pIMBAmumdm/4gthA3kYrl6Oywa+mkhUNewDqlg+6vGLtaL/Vft0NDOs0Xa4qKYK8 b9L5ehOxfA4tdHh6yELo/8eF7ATosWt/Jmigc5ygmpYkMf0N77UecVgI6i/kshDtF1zKMYID sTCCA60CAQEwgYAweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5j YWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZI hvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcCAxJB0zANBglghkgBZQMEAgEFAKCCAgEwGAYJ KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTcwMzE1MTIyMzQ4WjAv BgkqhkiG9w0BCQQxIgQgd30/dK5qdcVGFleWv0RjBK2g4TIJn7MRWc/XyIYdlSgwbAYJKoZI hvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBkQYJ KwYBBAGCNxAEMYGDMIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93 d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8G CSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwgZMGCyqGSIb3DQEJEAILMYGD oIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9y ZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS c3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwDQYJKoZIhvcNAQEBBQAEggEAnKDg7a7SJb1sf2Zy LSPZGNIb44WPnqaEQP/fZ8A/nO9mvIJojJ41EAoiTHbar9zGZ9Q1CV6VysYCPfwKZfK2Dxl5 VhbONLN/BtzlesOHD2DnCE3ej1KxgJ0DULLHn2jooQ1fEKZV7Sf5UM7coIE51gtRim8UZj0N 8etWijW5eY17/I24Gcr1U2p8S/XFRPKO0HaEd1whLvXIRdtD3dTyz2zhxYvl1+0UbaDS9uU2 Qkjmb9gf2nMIuh3pzCIePS8/Kbr8q8V3d4HZ1xG7QdG6CWyekPIIXPZSz3KbTkGSoeh9ZOSk SmkWcF1aTkprORd0f65Ie/ic2iiyDEF950hVewAAAAAAAA== --------------ms050300020505010709060201-- From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Eric Blake Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 12:45:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Ulf Zibis , 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.148958189210024 (code B ref 26101); Wed, 15 Mar 2017 12:45:01 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 12:44:52 +0000 Received: from localhost ([127.0.0.1]:56409 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1co8IO-0002bc-Eb for submit@debbugs.gnu.org; Wed, 15 Mar 2017 08:44:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60838) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1co8IM-0002bO-Dj for 26101@debbugs.gnu.org; Wed, 15 Mar 2017 08:44:51 -0400 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8C278437F4F; Wed, 15 Mar 2017 12:44:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 8C278437F4F Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=eblake@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 8C278437F4F Received: from [10.10.121.52] (ovpn-121-52.rdu2.redhat.com [10.10.121.52] (may be forged)) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v2FCiipw009581; Wed, 15 Mar 2017 08:44:44 -0400 References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> From: Eric Blake Openpgp: url=http://people.redhat.com/eblake/eblake.gpg Organization: Red Hat, Inc. Message-ID: Date: Wed, 15 Mar 2017 07:44:43 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="8AXUiWIccspEdXiJLA8Wl6id5OjGCf8sT" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 15 Mar 2017 12:44:45 +0000 (UTC) X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --8AXUiWIccspEdXiJLA8Wl6id5OjGCf8sT Content-Type: multipart/mixed; boundary="uwAfutHVQisDoIhWOFCilDLDSc5BLdAXK"; protected-headers="v1" From: Eric Blake To: Ulf Zibis , 26101@debbugs.gnu.org Message-ID: Subject: Re: bug#26101: Counterproductive calculation order in date References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> In-Reply-To: <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> --uwAfutHVQisDoIhWOFCilDLDSc5BLdAXK Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 03/15/2017 07:23 AM, Ulf Zibis wrote: >=20 > A more simple example without touch: > $ date +%F > 2017-03-15 > $ date -d "-20 day" +%F > 2017-02-23 > $ date -d "-20 day -2 month" +%F > 2016-12-26 > $ date -d "-2 month -20 day" +%F > 2016-12-26 >=20 > In the 2nd example I would expect: > 2016-12-23 Why? Both operations are computing: Subtract 20 days, and subtract 2 months (equivalent to 60 days). Subtraction is commutative, it doesn't matter which one you subtract first, if you are doing two subtractions. Maybe you are confused on how date implements "subtract a month". It does NOT do "subtract 28, 29, 30, or 31 days as appropriate", but rather does "subtract 30 days, for lack of anything better to do". Maybe it could, but someone would have to write the patch. Relative dates are HARD to compute, which is why --debug included this warning: > date: starting date/time: '(Y-M-D) 1970-01-01 00:00:00 TZ=3D-06:00' > date: warning: when adding relative months/years, it is recommended to > specify the 15th of the months=20 It sounds like you are trying to do a piecemeal computation, where you compute "what month was it two months ago (using the trick of starting from the 15th of this month, and only outputting the month), and then subtract 2 days from the given day within the month". To do piecemeal computations like that requires piecemeal date invocations, unless you can propose a patch to the date parser engine to make additions/subtractions of months smarter based on the order that relative operations appear in the date string, and prove that it won't break existing users that have come to rely on the currently-documented behavior of "month =3D=3D 30 days". >=20 > So I see several points for enhancement: > - Allow @seconds in -d option, even for touch. > - Document the '@' syntax not only as example. > - For date document if combination of -r -d (and others) is allowed. Not currently allowed, but maybe it should be. > - For touch document if combination of -r -d (and others) is allowed. Yes, it's allowed, but a documentation improvement would not hurt. > - For date allow combination of -r -d (maybe even more). > - Calculate terms of -d option from left to right. Already done (but doesn't matter, if it is commutative) - so apparently what you are REALLY asking for is a smarter "-1 month" that subtracts a variable number of days (28-31) rather than a fixed number of days (30). --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --uwAfutHVQisDoIhWOFCilDLDSc5BLdAXK-- --8AXUiWIccspEdXiJLA8Wl6id5OjGCf8sT Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJYyTc7AAoJEKeha0olJ0NqsMsH/0FJga2tu9jmuBo3DRvtqGHI m/ChaWftfsFEu+tIPkdzviybeM4ZshcwshtBS6yEUvBv/9+Bif1cTmSV+u3pDqTx ybNCqk0GXjHxUUKX0VYx4poh5maehlBQSqgte2HqR9vQ+M/9HV0erw1V1B7V1VNr YdhrzoT20HsC6NEWig9YXTd+ay8fWMhv1vRS+bzdJh0OgvaHx8uB0qO5BhUXDpxJ SJHm4wO8vnzvWUQtwu2/iylvcFJab3+OIzCKD2nwjd/AV5gZbxt2ZQ6Kr+35d+z/ q4j0Om8e5BiqsEylbmeShCAEiPMp8RKfFA8/7I6fFE7JkHscMrRLUYrcl1/4vK4= =GNkC -----END PGP SIGNATURE----- --8AXUiWIccspEdXiJLA8Wl6id5OjGCf8sT-- From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Ulf Zibis Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 13:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 26101@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.148958544415386 (code B ref -1); Wed, 15 Mar 2017 13:45:02 +0000 Received: (at submit) by debbugs.gnu.org; 15 Mar 2017 13:44:04 +0000 Received: from localhost ([127.0.0.1]:56423 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1co9Dg-000406-Af for submit@debbugs.gnu.org; Wed, 15 Mar 2017 09:44:04 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60384) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1co9De-0003zV-Ol for submit@debbugs.gnu.org; Wed, 15 Mar 2017 09:44:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1co9DY-0008JL-Hw for submit@debbugs.gnu.org; Wed, 15 Mar 2017 09:43:57 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_20,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:52210) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1co9DY-0008JH-F3 for submit@debbugs.gnu.org; Wed, 15 Mar 2017 09:43:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1co9DX-0004ps-CQ for bug-coreutils@gnu.org; Wed, 15 Mar 2017 09:43:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1co9DS-0008I2-HG for bug-coreutils@gnu.org; Wed, 15 Mar 2017 09:43:55 -0400 Received: from mout.gmx.net ([212.227.15.19]:60657) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1co9DS-0008Hm-6p for bug-coreutils@gnu.org; Wed, 15 Mar 2017 09:43:50 -0400 Received: from [192.168.178.31] ([92.72.206.9]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LgIWi-1cTQzX49NU-00neU5 for ; Wed, 15 Mar 2017 14:43:48 +0100 References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> From: Ulf Zibis Message-ID: <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> Date: Wed, 15 Mar 2017 14:43:47 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms020604070703010409030101" X-Provags-ID: V03:K0:85AIMkFk7kEcRBPx1Ih/ZMfN/em6MBHyiKHn43hp3zgr9DHf8q3 gsE5XCnvh+wGjk5u5ECfv0pDgHjiJ2M1CzETpdfsBkYpMH9s+WmuOwu2R3u/zfJWO4HgEY8 Chg03wlErYb3wlM/3Rxw8AZ/F0LOvWI+2FxSV8nSrYntMk9NsHQH5Om5B6vuN+ea+x47lnV D+JCE5WDjDzEd5rZnriPQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:LCit8khbElc=:2vY6jmvQL4RAmy/5bzDWm8 nScruNbZILwKHeOV1Fsc1rvWUgpzl7Z2Zg3HiFBTmREx6oO1q5gMTS+hBniYvJGt0p2p/ltXL 46Y2aS3bdNMUaGrXIoTnRJ13Y3//zugHSRuvip64mASiJE6FD9nxj/bUrwjeg2HeeoWWnR5Dj ZC5+tmDYPQb4RkSJeEyWcoFMm5KGi6eOIOTPCW/2tqXJYwJiqxjznl+9utRycYABDubUKKBT7 FY/qRc6YsKTe+oPV6n+Kdh0xONB61nnEs0Du+5l/wufk9ZqB12zLz/Sop9IMSGehHdAwLlyAj ypFeF7QMtCFEX1Z2ck1kFiqAZep80AXG9FO3SYRuH8PdR/owCsTPlg9fQyDxAmzs/my/l0Sc4 IvSM0qZ99IE5u3es9crAFPsq9E6ve7oYpH89y2wq1Eo4mCxLCIRAXRsLr4iCuE4oO+fWzjFhy xz6tKOEsnvfmDOddqf99z8T8BCEXljpaRULarVEj6mw5z5Yj7f9dPVmE5cXOa+HcxjZDeFbQP T6kPrjZUq2gi0igvv23WbIG/c4OV26C+Cpw347tYHvKa0j4Rf1Bs7XGu7xi9rt1n3RVLKQtoF HkZgzfnWlCj0xKW2OZ4l5yKXEs3lWoWn8tMJCxUUcGU+tEgjfT0fbI6AH4sIUkpUQWNktbVb2 1u+ggV/r4xD57uhElDctBQeGLp5mSuI9gLa7fLVaZvMazDpSJI/JtJOY3X+XpSKFGZwYNkvNX 1DJJB0gcle5tCBvKANRoApWKW5agwvFfWUvJEDY6W9Vmm2rsd/8/giSGTsc= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) This is a cryptographically signed message in MIME format. --------------ms020604070703010409030101 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Am 15.03.2017 um 13:44 schrieb Eric Blake: > Maybe you are confused on how date implements "subtract a month". It > does NOT do "subtract 28, 29, 30, or 31 days as appropriate", but rathe= r > does "subtract 30 days, for lack of anything better to do". Are you really sure ??? Here on my 8.25 version I get: $ date -d "-12 month" +%F 2016-03-15 $ date -d "-360 day" +%F 2016-03-20 So I think my list for enhancements is still fully applicable. -Ulf PS: You may drop the copy to my personal email, so I don't get it twice, = as I'm subscribed to the list. --------------ms020604070703010409030101 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC BXcwggVzMIIDW6ADAgECAgMSQdMwDQYJKoZIhvcNAQENBQAweTEQMA4GA1UEChMHUm9vdCBD QTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNp Z25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcwHhcN MTYwODA3MTY1OTQ0WhcNMTgwODA3MTY1OTQ0WjA7MRgwFgYDVQQDEw9DQWNlcnQgV29UIFVz ZXIxHzAdBgkqhkiG9w0BCQEWEFVsZi5aaWJpc0BnbXguZGUwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCfGqu3hGvq9SxR3eMMy7m1OuKnBMGQji89U8/K3CXqTtczNvysOqTD ePnzjLqRhZU7MPwQnSRQq1ZWO4Q5GAjZUOEh1xseQfk3TmPSUVMKPboqjOYJ11zCDt6RWULK SvNvyNMU6IUGmlIbCbbWV4vNFa8wMVFTUdATXaB9ySLD8Evb46JsU7KEaZdQaYGsLu+JdhZi jLRHMuU7nPxjF1rhrq0PyuXkrrnsUUQCecMHcOISuEYz6gIVE803ht7KS/pQ2BCC9XVl8d1l 8tNI/wp7NCGuUclzwIIIpQtwrNgawFQ6/2y3aMAevh/w9qw0Vx4IdYl2P3USjSQs3HQitZIf AgMBAAGjggFAMIIBPDAMBgNVHRMBAf8EAjAAMFYGCWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91 ciBvd24gY2VydGlmaWNhdGUgZm9yIEZSRUUgaGVhZCBvdmVyIHRvIGh0dHA6Ly93d3cuQ0Fj ZXJ0Lm9yZzAOBgNVHQ8BAf8EBAMCA6gwQAYDVR0lBDkwNwYIKwYBBQUHAwQGCCsGAQUFBwMC BgorBgEEAYI3CgMEBgorBgEEAYI3CgMDBglghkgBhvhCBAEwMgYIKwYBBQUHAQEEJjAkMCIG CCsGAQUFBzABhhZodHRwOi8vb2NzcC5jYWNlcnQub3JnMDEGA1UdHwQqMCgwJqAkoCKGIGh0 dHA6Ly9jcmwuY2FjZXJ0Lm9yZy9yZXZva2UuY3JsMBsGA1UdEQQUMBKBEFVsZi5aaWJpc0Bn bXguZGUwDQYJKoZIhvcNAQENBQADggIBAJ08P6jBx0XuOOn0ZiGDMUd6JLMH4SauhjoJ0Xe1 Dm3djZl5N420nQLPefRIiJj3HufH/FBBpr/KlvGpvm0WlDnyjwVAw79EgpsQQZH/HiVgb1ay upSEptSEIXqaKOYNfT1izVnsOU/+JUzPbEajfbOiYCx42/an2/y5GzYUZ5ftyvV1W3lvHEgP TAOZSpGUisgC5WQnFhm59c90qgpRzdW/OMOyMFlNDfKinyCDUXN/FA8hZ7XKqDS8Z8ZynS8y 4UxdWnp2HB+Mbq8GMnv7RsSb5vE8Om4nmMTDnaS5PDA6sa+ZIppmEoxMR7cRpbX5tl52iaJN ZtkW+zxan60qSmLyVsu1x3CjCzPxKUE3DgEcBfpdsaDrv/Hx3gucyCtcdgo2dtTMEILoUIaY 4dtV0TmwgMgj7fNBIleUPAIBq2OaiPhR5DdSGEDK63P1FvzeAV6VT1ETFsZfxcNimjfawnhF XOWIvZRjQ2CETETNaYLRBCdTtO6qm8wN4ANNlvmQluxhC9Rpe9r32oWir4MuGrgqLFaQweTh Qvk8/CV7pIMBAmumdm/4gthA3kYrl6Oywa+mkhUNewDqlg+6vGLtaL/Vft0NDOs0Xa4qKYK8 b9L5ehOxfA4tdHh6yELo/8eF7ATosWt/Jmigc5ygmpYkMf0N77UecVgI6i/kshDtF1zKMYID sTCCA60CAQEwgYAweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5j YWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZI hvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcCAxJB0zANBglghkgBZQMEAgEFAKCCAgEwGAYJ KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTcwMzE1MTM0MzQ3WjAv BgkqhkiG9w0BCQQxIgQgASGmHJOrvz+Y1568GMqlBuSI1J/941xNi4zX7PTCXcEwbAYJKoZI hvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBkQYJ KwYBBAGCNxAEMYGDMIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93 d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8G CSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwgZMGCyqGSIb3DQEJEAILMYGD oIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9y ZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS c3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwDQYJKoZIhvcNAQEBBQAEggEAXaULuU9CPdN9FbAy qm3gyUCjcW3FxG+qGO5g/3fwGM9bZwgYLO8Ied8QFNGK56SCngXlnMV0lDDGrPP79+zrFWi5 JMmE2eryuBP94bspLcCf73IayKjasUajPwRCVaBFCnW8yuWpJhQ9ObwTGlU9RcoJlXrASFny L8e03K3w2mhSDsPGmHi3LLVhIQjoStIdaRvSlZ+lxkxLr1NVtgQfFv0xHab7PKVJ6/HlsVpK aV09Xkum/3EucBeGOEMI0MzegNOQcDaSpMJwRqyv/xHP+B2Y6HknKtjQOCxLHJVJftBzPlxq hU6AbfsNTqJHnPIB4g2Y/UdZOTQpFfK/SgEzLwAAAAAAAA== --------------ms020604070703010409030101-- From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Assaf Gordon Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 14:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.148958884221603 (code B ref 26101); Wed, 15 Mar 2017 14:41:01 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 14:40:42 +0000 Received: from localhost ([127.0.0.1]:57299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coA6U-0005cN-4o for submit@debbugs.gnu.org; Wed, 15 Mar 2017 10:40:42 -0400 Received: from mail-qk0-f176.google.com ([209.85.220.176]:36412) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coA6S-0005c6-Q8 for 26101@debbugs.gnu.org; Wed, 15 Mar 2017 10:40:41 -0400 Received: by mail-qk0-f176.google.com with SMTP id 1so14455216qkl.3 for <26101@debbugs.gnu.org>; Wed, 15 Mar 2017 07:40:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=Plq/wp2Yfbri9D5C5+1YiAkL7mMNzipiFH4GSs/l8kY=; b=WAIkORR66iR6bTrR40mqvCSastbeXsvoaXbBIZfnWgSdjg7l1/cmwKr2Ea5m8qMa63 EwkkqsFmqjSCMY1ofjm42d9h1jDjz2zkncp2IPyBl4xiMV0RGxr1msCG1toDwJs2Hjex H4Kya+BWEDzAMtcJ41giE1TAlR9soH8Nz5gnvVvQdHn5ffy3qH/X6bOJQa02ZcH/2N0e jp1LfGpb5ebSrUiBGzOXE22GecKs31W5ALa63Rgj+Ce/MU0MPTndVC+2hYSgg/mKCJzU 9i5QVhzWNi6QdMZT83u0ms+aNGbWi/SlxK1UGdhz01ZieXFv/dL7/Im8q0eTldWqUyYa LcQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=Plq/wp2Yfbri9D5C5+1YiAkL7mMNzipiFH4GSs/l8kY=; b=oIILEbRGErqUZMheCVf2vEDlQXhuyZ4meGjcVGc5Y6+eYSEKp7gFG2eEx1TceLkf7S jcYjKn2pQbMKUe/WLj3mCy8Ux1BMts06LRb4Yv49opgRiC11Vu/4+MqUVkjPltLudJwO Ium5yCx3R6vn7Kh1Lrorzwe71YOoZorbjTkKqgVMzMOLvUgP5gVe59PVEnXvJiGEmZSm bqv9tjQF/XVXOnqPkahmpFAj/YXcPDD9MuBzWx4dAUthzt8uB64A8qsz5sIlGgWkuXVq 2C/pw1o/qM+sWkqKbmr/xZucU00ciXaA+IuVlwp4nnJYKaC/euI/jn4mUYv6wMLORkPx n4pw== X-Gm-Message-State: AFeK/H1D16Tf4YYHbQa9cx24letWTjDnvRt9mJZrnmOCbcgOj2Izp7if32O1Hf39sGegwA== X-Received: by 10.55.41.215 with SMTP id p84mr2860557qkp.35.1489588834856; Wed, 15 Mar 2017 07:40:34 -0700 (PDT) Received: from ix.cshl.edu ([143.48.55.38]) by smtp.gmail.com with ESMTPSA id t124sm1402041qkf.27.2017.03.15.07.40.33 for <26101@debbugs.gnu.org> (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 15 Mar 2017 07:40:33 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2102\)) From: Assaf Gordon In-Reply-To: <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> Date: Wed, 15 Mar 2017 10:40:33 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: <8D030137-A17E-4C92-B3F9-91A464CF35A3@gmail.com> References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> X-Mailer: Apple Mail (2.2102) X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > On Mar 15, 2017, at 09:43, Ulf Zibis wrote: >=20 > Am 15.03.2017 um 13:44 schrieb Eric Blake: >> Maybe you are confused on how date implements "subtract a month". It >> does NOT do "subtract 28, 29, 30, or 31 days as appropriate", but = rather >> does "subtract 30 days, for lack of anything better to do". >=20 > Are you really sure ??? > Here on my 8.25 version I get: > $ date -d "-12 month" +%F > 2016-03-15 > $ date -d "-360 day" +%F > 2016-03-20 To give more details about the inter working of date adjustments: Assuming the current date is 2017-03-15: "2017-03-15 - 12 months": Year =3D 2017 Month =3D -9 (yes, it is stored temporarily as -9) Day =3D 15 Then it is normalized to: Year =3D 2016 Month =3D 3 Day =3D 15 While "2017-03-15 - 360 days" =3D Year =3D 2017 Month =3D 3 Day =3D -345 (yes, stored as -345) then normalized to: Year =3D 2016 Month =3D 3 Day =3D 20 More about the normalization: When adjusting months (e..g "-12 months), The value of 'day' isn't touched. It will be (unexpectedly) modified only in cases where the month does not have that day, e.g.: "2017-03-30 - 1 month" becomes: Year =3D 2017 Month =3D 2 Day =3D 30 then normalized to: Year =3D 2017 Month =3D 3 Day =3D 2 (because "2017-02-30" means "2 days after 2017-02-28" which is = "2017-03-02"). When adjusting days, it is equivalent to subtracting the number of seconds from the current unix epoch (i.e. seconds since = 1970-01-01). Example: Current unix time: $ date -d '20170315' +%s 1489536000 Number of days you want to subtract, in seconds: $ bc -l<<<'360*86400' 31104000 Resulting unix time: $ bc -l<<<'1489536000-360*86400' 1458432000 Which is equivalent to: $ date -d @1458432000 +%F 2016-03-20 Technical note: date adjustment (years/months/days) is done directly on the member = variables of a 'struct tm' , which is why it ignores the number of days in months. time adjustment (hours/minutes/seconds) is done on the unix time, AFTER the normalized date has been converted to unix time. > So I think my list for enhancements is still fully applicable. I'm late-comer to the thread, so I'll verify: You'd like to be able to do date calculations in some predictable way, in your case to be able to change a file's timestamp. However, consider that adjusting by any scale (years/months/days/hours/minutes) = will have side-effects. Adjusting by months can shift days (e.g. "2016-03-30 - 1 month" is still = march). Adjusting by days can shift hours (e.g. on Day light saving time), Adjusting by hours can stay in the same day (e.g. "+24 hours" on a when = day light saving results in 25 "hours"). etc. It is the edge-cases that make day adjustment tricky (e.g. "+1 month" is = not "+30 days", "+1 day" is not always "+24 hours", etc.). If you can come up with reliable and predictable rules for date = adjustment that will not have these unexpected results - there's = definitely room for improvements. However, there's also the existing behavior and backwards compatibility = that will need to be taken into account. regards, -assaf From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Eric Blake Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 14:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Ulf Zibis , 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.148958921622200 (code B ref 26101); Wed, 15 Mar 2017 14:47:02 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 14:46:56 +0000 Received: from localhost ([127.0.0.1]:57304 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coACV-0005m0-US for submit@debbugs.gnu.org; Wed, 15 Mar 2017 10:46:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39656) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coACT-0005lm-RQ for 26101@debbugs.gnu.org; Wed, 15 Mar 2017 10:46:54 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D78AE2B57B7; Wed, 15 Mar 2017 14:46:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com D78AE2B57B7 Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=eblake@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com D78AE2B57B7 Received: from [10.10.121.52] (ovpn-121-52.rdu2.redhat.com [10.10.121.52] (may be forged)) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v2FEklgc030181; Wed, 15 Mar 2017 10:46:48 -0400 References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> From: Eric Blake Openpgp: url=http://people.redhat.com/eblake/eblake.gpg Organization: Red Hat, Inc. Message-ID: Date: Wed, 15 Mar 2017 09:46:46 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="hdjXoQSd9UiajLd80LDWkeafJENG7AmhI" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Wed, 15 Mar 2017 14:46:49 +0000 (UTC) X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --hdjXoQSd9UiajLd80LDWkeafJENG7AmhI Content-Type: multipart/mixed; boundary="4QlUkKHWaaVUHiKjRjMHApkgPMidWPlsc"; protected-headers="v1" From: Eric Blake To: Ulf Zibis , 26101@debbugs.gnu.org Message-ID: Subject: Re: bug#26101: Counterproductive calculation order in date References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> In-Reply-To: <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> --4QlUkKHWaaVUHiKjRjMHApkgPMidWPlsc Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 03/15/2017 08:43 AM, Ulf Zibis wrote: >=20 > Am 15.03.2017 um 13:44 schrieb Eric Blake: >> Maybe you are confused on how date implements "subtract a month". It >> does NOT do "subtract 28, 29, 30, or 31 days as appropriate", but rath= er >> does "subtract 30 days, for lack of anything better to do". >=20 > Are you really sure ??? > Here on my 8.25 version I get: > $ date -d "-12 month" +%F > 2016-03-15 > $ date -d "-360 day" +%F > 2016-03-20 Interesting (it's been a while since I've tried that; so maybe we really have made improvements in the meantime). --debug output is pertinent: $ src/date -d '-12 month' --debug date: parsed relative part: -12 month(s) date: input timezone: -06:00 (set from system default) date: using current time as starting value: '09:41:25' date: using current date as starting value: '(Y-M-D) 2017-03-15' date: starting date/time: '(Y-M-D) 2017-03-15 09:41:25 TZ=3D-06:00' date: after date adjustment (+0 years, -12 months, +0 days), date: new date/time =3D '(Y-M-D) 2016-03-15 09:41:25 TZ=3D-06:00' =2E.. vs. $ src/date -d '-360 day' --debug date: parsed relative part: -360 day(s) date: input timezone: -06:00 (set from system default) date: using current time as starting value: '09:41:32' date: using current date as starting value: '(Y-M-D) 2017-03-15' date: starting date/time: '(Y-M-D) 2017-03-15 09:41:32 TZ=3D-06:00' date: warning: when adding relative days, it is recommended to specify 12:00pm date: after date adjustment (+0 years, +0 months, -360 days), date: new date/time =3D '(Y-M-D) 2016-03-20 09:41:32 TZ=3D-06:00' >=20 > So I think my list for enhancements is still fully applicable. >=20 > -Ulf >=20 > PS: You may drop the copy to my personal email, so I don't get it twice= , > as I'm subscribed to the list. List policy is to reply-to-all, so that we don't have to think about who is subscribed, while making sure that even unsubscribed readers stay in the loop on the message they are interested in. The list server has settings where you can request that you don't receive duplicate messages (that is, the list won't send you a second copy of the mail if your address was listed in to or cc); and you can also set mail-followup-to when posting to help direct the behavior of reply-to-all when someone replies to you. It doesn't scale to make me and every other subscriber special-case "which people that I'm replying to don't want a duplicate", compared to you to just tweak settings on your end to avoid the duplicates and/or set things up so that reply-to-all excludes you because you prefer to get it through the list. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --4QlUkKHWaaVUHiKjRjMHApkgPMidWPlsc-- --hdjXoQSd9UiajLd80LDWkeafJENG7AmhI Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJYyVPWAAoJEKeha0olJ0NqpV8H/2Ro4PjqF8bEv1ESyFBCG+VS PA04psMWDGasrANE3Dt+NlvSeti5I6U4d8e7kLKB/F81SLpCg1H1N7tDK8ZQmPzY 8HgLLiJ6aN/SQvVHHdRYCgvO3VZ7uz46PvZ8hkUJMU3zG7WlXt6KWJAzFyVQQKzz WBQryQfYTg3vmr/hUVYFz8uRRYJDWngqRh+7tUWA5+PJLIK47GJAg+VfTQnK/ZO3 gwxBx14LamRZRNcpYy4Q2FjmW9hb+5vDT+CUfSe1csnwB4Kv7vs3x+0EfpeCIp6F xL5Ygy8l2ewGpI2/JRybHuZZK89BHwewsen7baEd2rpAgQAwHgg9a6NNWWnTayE= =9/9G -----END PGP SIGNATURE----- --hdjXoQSd9UiajLd80LDWkeafJENG7AmhI-- From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 15:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Eric Blake , Ulf Zibis , 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.148959322128447 (code B ref 26101); Wed, 15 Mar 2017 15:54:01 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 15:53:41 +0000 Received: from localhost ([127.0.0.1]:57379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coBF6-0007Ok-J9 for submit@debbugs.gnu.org; Wed, 15 Mar 2017 11:53:40 -0400 Received: from midir.magicbluesmoke.com ([82.195.144.46]:54066 helo=mail.magicbluesmoke.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coBF4-0007Oa-AL for 26101@debbugs.gnu.org; Wed, 15 Mar 2017 11:53:38 -0400 Received: from localhost.localdomain (unknown [166.177.248.220]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.magicbluesmoke.com (Postfix) with ESMTPSA id B185312B; Wed, 15 Mar 2017 15:53:35 +0000 (GMT) References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> From: =?UTF-8?Q?P=C3=A1draig?= Brady Message-ID: Date: Wed, 15 Mar 2017 08:53:31 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 15/03/17 05:44, Eric Blake wrote: > On 03/15/2017 07:23 AM, Ulf Zibis wrote: > >> >> A more simple example without touch: >> $ date +%F >> 2017-03-15 >> $ date -d "-20 day" +%F >> 2017-02-23 >> $ date -d "-20 day -2 month" +%F >> 2016-12-26 >> $ date -d "-2 month -20 day" +%F >> 2016-12-26 >> >> In the 2nd example I would expect: >> 2016-12-23 > > Why? Both operations are computing: Subtract 20 days, and subtract 2 > months (equivalent to 60 days). Subtraction is commutative, it doesn't > matter which one you subtract first, if you are doing two subtractions. > > Maybe you are confused on how date implements "subtract a month". It > does NOT do "subtract 28, 29, 30, or 31 days as appropriate", but rather > does "subtract 30 days, for lack of anything better to do". Maybe it > could, but someone would have to write the patch. Relative dates are > HARD to compute, which is why --debug included this warning: Yes that's an awkward gotcha (I'm not sure is related to the OP's issue). I outlined a solution at http://bugs.gnu.org/18159#8 I didn't document in "coreutils gotchas" as it's covered in "coreutils FAQ", though it might deserve a discussion there. cheers, Pádraig From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Assaf Gordon Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 18:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: Ulf Zibis , Eric Blake , 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.148960368519663 (code B ref 26101); Wed, 15 Mar 2017 18:49:01 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 18:48:05 +0000 Received: from localhost ([127.0.0.1]:57465 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coDxt-000574-8B for submit@debbugs.gnu.org; Wed, 15 Mar 2017 14:48:05 -0400 Received: from mail-qt0-f173.google.com ([209.85.216.173]:36661) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coDxs-00056b-DT for 26101@debbugs.gnu.org; Wed, 15 Mar 2017 14:48:04 -0400 Received: by mail-qt0-f173.google.com with SMTP id r45so19935471qte.3 for <26101@debbugs.gnu.org>; Wed, 15 Mar 2017 11:48:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=8IumN9qMaO/FxtzF2QL4nkbZSSxaztAfveoBPINJHdw=; b=r5sTEd+5nnOxuJxn339NqTIPQzb4+Q4BG7OYFgIOLDb0W4hlbm+1xAx0yrqrVdQOuv cXzysUGRwGyldLiDSE2APBg8cIOVGzQmMX9VoQi3xe0g/hiv3Z9IHIMoNvJA7X43tBtf SQr1gy0gwkhcZcToMp6oQatODSf2vYjdqN9wHAuJVuMsdsFqLV6OjT67MeL4uGLgkmbC oHA957aTd7CTPUuQfhTrRyMaHRp50yWCzXgEbS2XO+vN0/5Z36zcDk3Vfxz5Z95aBDhA X9tu+ODMdzxVHgIWeAl44mNlvy0F+JVY2biM+LzyG/LtAV6uo0lwO9G9IUUoNiIRJlPK iYfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=8IumN9qMaO/FxtzF2QL4nkbZSSxaztAfveoBPINJHdw=; b=Awa9PX9XH5gIwUu1WD1Sl4hEWiTdXKOq1peBZRGSF+bSX88Zai5jij1fu3ECB00a/5 QiiHYFLT/uz4oW+RPJK+qzZCtONU2hkHDR0YX4sAsy8VIbJak68BV23xa9ThbDym8f67 DMXPR54yUtetgtfT+fOEzUCY99X5ia9QtS2mrxnaBL7mjdtCnJ3AB4d4Pt/YWnFNMMpq e+oNVenJQ8soMz42PpqAIKmgqFN3MI8n6EZ8gz6jgR9OKSAGoX6T78QWR7WaokEMODAD ZrDnrTLbPtXDPrxA/6104FSivBozyoOdHhhhbrbkE96La5/ynZw+bHD9a00V6zse79jZ iCDA== X-Gm-Message-State: AFeK/H07msTUkO9LFGJ5l1d1yaGHxijFqwNd7m77/XDR9aVy5vsgM69f+lnCldm5EFQF/Q== X-Received: by 10.200.42.166 with SMTP id b35mr4364541qta.195.1489603678726; Wed, 15 Mar 2017 11:47:58 -0700 (PDT) Received: from ix.cshl.edu ([143.48.55.38]) by smtp.gmail.com with ESMTPSA id k5sm1892690qtb.12.2017.03.15.11.47.57 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 15 Mar 2017 11:47:57 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2102\)) From: Assaf Gordon In-Reply-To: Date: Wed, 15 Mar 2017 14:47:56 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: <2809FEAE-A55C-4997-AF25-F248844CE8C3@gmail.com> References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> X-Mailer: Apple Mail (2.2102) X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) Hello,=20 > On Mar 15, 2017, at 11:53, P=C3=A1draig Brady = wrote: >=20 > Yes that's an awkward gotcha (I'm not sure is related to the OP's = issue). > I outlined a solution at http://bugs.gnu.org/18159#8 > I didn't document in "coreutils gotchas" as it's covered in "coreutils = FAQ", > though it might deserve a discussion there. If mentioning date adjustment in the 'gotcha' page, perhaps the following examples will be useful (short but sufficient to = illustrate the problems). All examples work in EDT timezone (=3D = "America/New_York" or -05:00). "--debug" should be useful to understand these cases. A year is not always 365 days (2016 was a leap year with 366 days): $ date -d '2016-03-01 - 1 year' +%F 2015-03-01 $ date -d '2016-03-01 - 365 days' +%F 2015-03-02 Month calculations are tricky at the end of the month: $ date -d '2017-09-30 - 1 month' +%F 2017-08-30 $ date -d '2017-10-31 - 1 month' +%F 2017-10-01 Explanation: what happens is that after the month is adjusted from 2017-10-31 to = 2017-09-31, the invalid date 2017-09-31 is adjusted by the number of invalid days (1 = day after the last valid day 2017-09-30 becomes 2017-10-01). =20 A month is not always 30 days (which is obvious, but more tricky with February): $ date -d '2017-03-30 - 1 month' +%F 2017-03-02 $ date -d '2017-03-30 - 30 days' +%F 2017-02-28 A day is not always 24 hours (Nov 6th 2016 was end of DST in US = east-coast timezone): $ date -d '2016-11-06 + 1 day' +%F 2016-11-07 $ date -d '2016-11-06 + 24 hours' +%F 2016-11-06 Daylight saving adjustment matter *not only* on the actual day of the switch, but also if the adjusted period crosses the date of the switch: $ date -d '2016-11-01 + 10 days' +%F 2016-11-11 $ date -d '2016-11-01 + 240 hours' +%F 2016-11-10 $ date -d '2016-06-01 EDT + 6 months' +%F 2016-11-30 regards, - assaf From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Assaf Gordon Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 19:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.148960676524492 (code B ref 26101); Wed, 15 Mar 2017 19:40:02 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 19:39:25 +0000 Received: from localhost ([127.0.0.1]:57481 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coElX-0006Mx-Sx for submit@debbugs.gnu.org; Wed, 15 Mar 2017 15:39:25 -0400 Received: from mail-qt0-f178.google.com ([209.85.216.178]:35056) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coElV-0006Mj-Ud for 26101@debbugs.gnu.org; Wed, 15 Mar 2017 15:39:22 -0400 Received: by mail-qt0-f178.google.com with SMTP id x35so21140999qtc.2 for <26101@debbugs.gnu.org>; Wed, 15 Mar 2017 12:39:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=37SQbh09gKb4eW01OJqFzWjAv3m/DyKgRbcvhay9Jlk=; b=O8N8lrE+27fd42H4DT7HHB5yYaboSAPDPdsyFicETpzsEIWs+7dDPQPg+SrtNNb/bV H6BaTC1QkZSGaNOk0vDaV+PuEIGJnRpZG/Dmj5YYvKiynfZLA4RCPcIwruq1nE1Kldvd MVSR4G2UEAvEs+4qCSbKvt6WfTrI36EgKXQmGXklPRo8t7v3sndmwpZ51mJIBzg/LWvn FPCoZEbT/0zzhRk0wSr0QH4EQYYkf+7QgRqDaxHVb7rP89/YIBQx/iIJDL2P+7t7xrlF 0oSdNRxXQ0prPGg8AaZ2nE64+xgknn8Axd48sCwuUhxl3DyaFMK4FuUKUYmOg2FmyY6K bxQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=37SQbh09gKb4eW01OJqFzWjAv3m/DyKgRbcvhay9Jlk=; b=KeEfFQ8n6snq12y/zHpNe/PhoLLnKJ/e78ar4eQGvkulVIH1byEgyORxlwDdjfMuj8 QpzmptXTplZ6uo0+Uv0IelyfmdH89hytQH3xdYLc2k7WICLbs1j27H+1+/E70Skjf0c6 PRQCjo6XH6m5nlRwGQG1zaLOvTauKlII7TQ+nFB74pNAYyCZ3vl/ypoORerT4Up1YWBM werpNyRj/d81dXNQhyL49igNTAbP+vjxVYfXwQMiDo3QnH5tpgSabSq2Qu5nng1jVeBk ZTTneAIMj+MLZyvobOWK6JGVpdOfTmKtIATCj2kg1Q+OqS5e9so78zqA0UfMPaNafW+X ZWlA== X-Gm-Message-State: AFeK/H3O6frT+dlwB1XlJvD5ZIe5oWB1droGUevJ5ZiJi2vzVu0IyViVHhVhMLAwqgCL0Q== X-Received: by 10.237.39.158 with SMTP id a30mr4802890qtd.65.1489606755839; Wed, 15 Mar 2017 12:39:15 -0700 (PDT) Received: from ix.cshl.edu ([143.48.55.38]) by smtp.gmail.com with ESMTPSA id r33sm1984316qta.19.2017.03.15.12.39.14 for <26101@debbugs.gnu.org> (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 15 Mar 2017 12:39:15 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2102\)) From: Assaf Gordon In-Reply-To: <8D030137-A17E-4C92-B3F9-91A464CF35A3@gmail.com> Date: Wed, 15 Mar 2017 15:39:14 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: <623D85D1-66F8-4193-B4D0-994461B8CE99@gmail.com> References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> <8D030137-A17E-4C92-B3F9-91A464CF35A3@gmail.com> X-Mailer: Apple Mail (2.2102) X-Spam-Score: -0.2 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.2 (/) Correcting my own mistake: > On Mar 15, 2017, at 10:40, Assaf Gordon wrote: >=20 > When adjusting days, it is equivalent to subtracting > the number of seconds from the current unix epoch (i.e. seconds since = 1970-01-01). > [...] Adjusting days is equivalent to adjusting hours/minutes/seconds ONLY when there are no edge cases like daylight saving time. "1 day" is not always "24 hours" nor "86400 seconds". regards, - assaf= From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Ulf Zibis Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 22:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Assaf Gordon , 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.14896174899222 (code B ref 26101); Wed, 15 Mar 2017 22:39:01 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 22:38:09 +0000 Received: from localhost ([127.0.0.1]:57654 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coHYX-0002Of-6X for submit@debbugs.gnu.org; Wed, 15 Mar 2017 18:38:09 -0400 Received: from mout.gmx.net ([212.227.15.19]:57544) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coHYV-0002OA-CU for 26101@debbugs.gnu.org; Wed, 15 Mar 2017 18:38:07 -0400 Received: from [192.168.178.31] ([92.72.206.9]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MePYV-1caDaB2G0l-00QFmE; Wed, 15 Mar 2017 23:38:00 +0100 References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> <8D030137-A17E-4C92-B3F9-91A464CF35A3@gmail.com> From: Ulf Zibis Message-ID: <69c21b68-c4b9-521a-bd09-70c88942a362@gmx.de> Date: Wed, 15 Mar 2017 23:37:59 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <8D030137-A17E-4C92-B3F9-91A464CF35A3@gmail.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms010908040407070509010107" X-Provags-ID: V03:K0:dSQ56m0vPm5OzH4+QzW0QJHeRLdziweFcLh35TyJtkrVR+9xbll GSi0oJbbLKXqxFK0VsjduesFmnXDNv9lIDb60nnCh1DwaCg3m2QsDoN7PHUV3cfLcauYaCY AE+0dgt4JDHlCaixZ9XmuCnukp99pbIQXZjAw8+uXyOcpjmzM5kf8dB7sceXy46soQFbqqE YIrpcVad6CkupaU18nfdQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:79qWfUD88Bw=:D+VYShbFJQ1D5fwybQWYo7 2iw+6xx4KXOBgfW4C7UDmWf/ycahmjuuHzkP4uDRdae6ycpfRzMfSI1+oH7cv5/xuWAPyo+3Z +o7Qyb242TC/2HS1VNzU5EkwxytjAMkZS9dUqzkLq0238r0dFS7c+RmruYmsBQwfr/ieoBvfO BgZHPxyBjGOSFAxtdIO1yC4CTR18VRwLn7sRkeGHv4SpNcniN4Kmo3NCfgvx/weZFItOaoMor Pxy/jjN8whTt9DT0wIValKcHByyL1olDSxmRZz5vh2MAG0P4cqcqYxcUvd3dd/O7aYbmTEDn7 G1x0qWXyzAXE9NVgQBGVulyW+qwF3hvZmwsjTkGKwn0dJnYaA9v5NF/mAY5EWMkUByeeNsAvX Dsdw5jNUHHVvs1qZWOKuqeAIHGW6arLxLDUETrhGOpDxBg63ftIM+INRtrYJnclUdfnTZg16V lBZslrcQi0K8SnIneT/M3jjK3kGpOLmhhFdZ57yREU6VmpkEUIl/CTvIPJqTHAYwWO82yRa12 0D3r788XI/aR0J4BurfuoWSV4T6cTB0X5eq6n6EZvkQTCkOynuUVwy9RuPLRd3I3JINFVzEEf 8A2XisgbJ0cDR/wEpVaAsMRdcFR6MAs6Nxemc0TdLGXsznQfRdQmnaHDtb/W4dd8uJCnAFKLN M+vxM4PDinuN3l2bOPdf6+PdBHcgj9pBJlmfx4fvIfyUfz+1luwZO/ynyOfwRS79eH7vJBtof UQUh/kD2HUh0VvxjL5gkKLg/tUhxFDm54y0sm9jdJoFH39LlnhX8H/sOJzc= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) This is a cryptographically signed message in MIME format. --------------ms010908040407070509010107 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable Am 15.03.2017 um 15:40 schrieb Assaf Gordon: > To give more details about the inter working of date adjustments: Much thanks for outlining these details in great clarity. > You'd like to be able to do date calculations in some predictable way, Yes! Currently the result is not predictable because the order of processing=20 the terms is not defined transparently. > in your case to be able to change a file's timestamp. Not any more as thanks to Eric I now know how to do that by only help of = touch. > However, > consider that adjusting by any scale (years/months/days/hours/minutes) = will > have side-effects. > > Adjusting by months can shift days (e.g. "2016-03-30 - 1 month" is stil= l march). > Adjusting by days can shift hours (e.g. on Day light saving time), > Adjusting by hours can stay in the same day (e.g. "+24 hours" on a when= day light saving results in 25 "hours"). > etc. > > It is the edge-cases that make day adjustment tricky (e.g. "+1 month" i= s not "+30 days", "+1 day" is not always "+24 hours", etc.). > > If you can come up with reliable and predictable rules for date adjustm= ent that will not have these unexpected results - there's definitely room= for improvements. I do not see any problems with adjustment when determining the=20 processing order from left to right, but I'm not a real specialist to=20 that subject. > However, there's also the existing behavior and backwards compatibility= that will need to be taken into account. This may be an important issue. On the other hand, such side effects could also result from arbitrary=20 code changes, as the processing order to follow is nowhere determined. Maybe an intelligent search over all shell scripts of a typical Linux=20 installation could discover the usage of such cases. -Ulf --------------ms010908040407070509010107 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC BXcwggVzMIIDW6ADAgECAgMSQdMwDQYJKoZIhvcNAQENBQAweTEQMA4GA1UEChMHUm9vdCBD QTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNp Z25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcwHhcN MTYwODA3MTY1OTQ0WhcNMTgwODA3MTY1OTQ0WjA7MRgwFgYDVQQDEw9DQWNlcnQgV29UIFVz ZXIxHzAdBgkqhkiG9w0BCQEWEFVsZi5aaWJpc0BnbXguZGUwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCfGqu3hGvq9SxR3eMMy7m1OuKnBMGQji89U8/K3CXqTtczNvysOqTD ePnzjLqRhZU7MPwQnSRQq1ZWO4Q5GAjZUOEh1xseQfk3TmPSUVMKPboqjOYJ11zCDt6RWULK SvNvyNMU6IUGmlIbCbbWV4vNFa8wMVFTUdATXaB9ySLD8Evb46JsU7KEaZdQaYGsLu+JdhZi jLRHMuU7nPxjF1rhrq0PyuXkrrnsUUQCecMHcOISuEYz6gIVE803ht7KS/pQ2BCC9XVl8d1l 8tNI/wp7NCGuUclzwIIIpQtwrNgawFQ6/2y3aMAevh/w9qw0Vx4IdYl2P3USjSQs3HQitZIf AgMBAAGjggFAMIIBPDAMBgNVHRMBAf8EAjAAMFYGCWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91 ciBvd24gY2VydGlmaWNhdGUgZm9yIEZSRUUgaGVhZCBvdmVyIHRvIGh0dHA6Ly93d3cuQ0Fj ZXJ0Lm9yZzAOBgNVHQ8BAf8EBAMCA6gwQAYDVR0lBDkwNwYIKwYBBQUHAwQGCCsGAQUFBwMC BgorBgEEAYI3CgMEBgorBgEEAYI3CgMDBglghkgBhvhCBAEwMgYIKwYBBQUHAQEEJjAkMCIG CCsGAQUFBzABhhZodHRwOi8vb2NzcC5jYWNlcnQub3JnMDEGA1UdHwQqMCgwJqAkoCKGIGh0 dHA6Ly9jcmwuY2FjZXJ0Lm9yZy9yZXZva2UuY3JsMBsGA1UdEQQUMBKBEFVsZi5aaWJpc0Bn bXguZGUwDQYJKoZIhvcNAQENBQADggIBAJ08P6jBx0XuOOn0ZiGDMUd6JLMH4SauhjoJ0Xe1 Dm3djZl5N420nQLPefRIiJj3HufH/FBBpr/KlvGpvm0WlDnyjwVAw79EgpsQQZH/HiVgb1ay upSEptSEIXqaKOYNfT1izVnsOU/+JUzPbEajfbOiYCx42/an2/y5GzYUZ5ftyvV1W3lvHEgP TAOZSpGUisgC5WQnFhm59c90qgpRzdW/OMOyMFlNDfKinyCDUXN/FA8hZ7XKqDS8Z8ZynS8y 4UxdWnp2HB+Mbq8GMnv7RsSb5vE8Om4nmMTDnaS5PDA6sa+ZIppmEoxMR7cRpbX5tl52iaJN ZtkW+zxan60qSmLyVsu1x3CjCzPxKUE3DgEcBfpdsaDrv/Hx3gucyCtcdgo2dtTMEILoUIaY 4dtV0TmwgMgj7fNBIleUPAIBq2OaiPhR5DdSGEDK63P1FvzeAV6VT1ETFsZfxcNimjfawnhF XOWIvZRjQ2CETETNaYLRBCdTtO6qm8wN4ANNlvmQluxhC9Rpe9r32oWir4MuGrgqLFaQweTh Qvk8/CV7pIMBAmumdm/4gthA3kYrl6Oywa+mkhUNewDqlg+6vGLtaL/Vft0NDOs0Xa4qKYK8 b9L5ehOxfA4tdHh6yELo/8eF7ATosWt/Jmigc5ygmpYkMf0N77UecVgI6i/kshDtF1zKMYID sTCCA60CAQEwgYAweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5j YWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZI hvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcCAxJB0zANBglghkgBZQMEAgEFAKCCAgEwGAYJ KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTcwMzE1MjIzNzU5WjAv BgkqhkiG9w0BCQQxIgQgCBNTgXbwWQEVrgOdOICR8jZ8E7An6JZvbNRPjhTPWPIwbAYJKoZI hvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBkQYJ KwYBBAGCNxAEMYGDMIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93 d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8G CSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwgZMGCyqGSIb3DQEJEAILMYGD oIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9y ZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS c3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwDQYJKoZIhvcNAQEBBQAEggEAdcu5xd/kJcbmk9pr 4PyZt8s7WDMRz1f2K+kIMk8u8vHRIqOV0sV0b9sL9W9hCEIsly2Lzgwgau+Z/P1gzye3rvxA D96Jdwqkyn3yp0neLTxgFKB1muLVlBREpEcnU+v76qcgGV5a8BG9AcNoO1K1JLdw8ocvaPsA OJivIoYmBFHKfpSCH8ZumrsQlkP549M8XNAN0BsFfwDHi0WcQ/bFuxmWcQfe4z66SU1srtGA 9QU5IEN3m1Uzl10J+JPkkjThTqyqxhAapQwmF1Ymo6cDf7H80E7V8HljXgEZiMaudciuHQah SwqBd+0xxTt+HTBb8Faz8AjRHhhk8k3whI8xRAAAAAAAAA== --------------ms010908040407070509010107-- From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Ulf Zibis Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 23:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Eric Blake , 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.148962003113049 (code B ref 26101); Wed, 15 Mar 2017 23:21:01 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 23:20:31 +0000 Received: from localhost ([127.0.0.1]:57667 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coIDW-0003OP-Tq for submit@debbugs.gnu.org; Wed, 15 Mar 2017 19:20:31 -0400 Received: from mout.gmx.net ([212.227.15.18]:53257) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coIDV-0003OB-BN for 26101@debbugs.gnu.org; Wed, 15 Mar 2017 19:20:29 -0400 Received: from [192.168.178.31] ([92.72.206.9]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0M6jMS-1c2nrR1QYu-00wYs9; Thu, 16 Mar 2017 00:20:17 +0100 References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> <64520d44-2dcc-b06d-0aa4-227bb7941e8c@gmx.de> From: Ulf Zibis Message-ID: Date: Thu, 16 Mar 2017 00:20:16 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms070204000306080809050703" X-Provags-ID: V03:K0:rjlYiH/zfhqx+SAVfkAz46AIbH0Bh+TbhNBdsfaxza/RxN7la0R PfgGinhy/uIfq/IlYQMRIv8XARzEKLpyHcjdvgM/2jHwOe7qXWKW1qQCbQJsueP2cbkG8g5 3l37WopzUqnXcQayys1XnXHb7UUrAdRjqWoUGsQ4tUQU4ekFATkSE4EOB32qqD/SO19oZ/k 1PDsmxUom5fAVOYzD846w== X-UI-Out-Filterresults: notjunk:1;V01:K0:zPBJcni35yY=:R1WVGn90NcdZ/eUPXSQzY9 bXxSfHUgcBP4vOfOOb9Ct0MkWtwThWbCxIO3gsSq2GTj8JZySBj2fDrbVoG1zxTHksk4LFBAn o7jBML8NKQfxqJaQHOwrr71/lMm0ZI2ZpwWAIs/8JeTlt0wlmy7I+6dec42MhUiTTWuHSD91u Di7tEzu3pEvAR8Ez9vdO+h8F2WFduSTrQqS+Z9X5h1cz3L/cdcZVvGEKUtom/I8h5i+HNYFYw MNqEokGpmrWFhGDl8WE2gAwq9ck45xurvxUabGiy1BWM8cQFZSCZuGKSyF2iNBUAFFMR2aubV W/2v1dEK0sWq6xA8krlBKoDS0iUZ9sZLD0rvtcGpIQ1f/5EwgwSrH6KD4q2umDt3D5ahERu2G ASby5UizV913ya+8maf2DmNUWmMho34cQYrHyZlI3v3l0+2/Z5LrHqg07zblXYJCJGMZH+tmJ LaafgPcMpL6iRNAFLHaFJnJs9dzDZvXbRu+JWo4CGdevPc9V0bran6fnTyyM2OP/lkU1q5lr1 fiLNMx/FpwbIXgvr0o/ORkyNh/ONhjUCvJ4hNb9X9TkDfcpuPHCxE/GYCjOxtF0W/1XDqqkho clc/K3kHnp0EdvfWjyBwEIf3PqDwsxAEXMyRxAhEt3wz0he7kxaRoSurGHePlOcNrl8G8s7EW LKVzEpWL/s60VE2EZZGBvPU4eVuGpNz+izBNb4Q8e1FAl7qbUSdb5aCpKLC2aCv7rgMHaR1hQ Zii12xfqXUwTZS1WZ/XEiH052Y6JJMrBD2dQ+Z2oMrUKom9SkyZgHMd+1MY= X-Spam-Score: -0.2 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.2 (/) This is a cryptographically signed message in MIME format. --------------ms070204000306080809050703 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Am 15.03.2017 um 15:46 schrieb Eric Blake: > List policy is to reply-to-all, so that we don't have to think about wh= o > is subscribed, while making sure that even unsubscribed readers stay in= > the loop on the message they are interested in. The list server has > settings where you can request that you don't receive duplicate message= s > (that is, the list won't send you a second copy of the mail if your > address was listed in to or cc); Yes, but I prefer to filter my emails on List-Id, as it is unambiguous=20 and simple. With that setting I would loose this possibility. > and you can also set mail-followup-to > when posting to help direct the behavior of reply-to-all when someone > replies to you. I must amid, I do not really understand this. > It doesn't scale to make me and every other subscriber > special-case "which people that I'm replying to don't want a duplicate"= , > compared to you to just tweak settings on your end to avoid the > duplicates and/or set things up so that reply-to-all excludes you > because you prefer to get it through the list. Agreed! -Ulf --------------ms070204000306080809050703 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC BXcwggVzMIIDW6ADAgECAgMSQdMwDQYJKoZIhvcNAQENBQAweTEQMA4GA1UEChMHUm9vdCBD QTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNp Z25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcwHhcN MTYwODA3MTY1OTQ0WhcNMTgwODA3MTY1OTQ0WjA7MRgwFgYDVQQDEw9DQWNlcnQgV29UIFVz ZXIxHzAdBgkqhkiG9w0BCQEWEFVsZi5aaWJpc0BnbXguZGUwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCfGqu3hGvq9SxR3eMMy7m1OuKnBMGQji89U8/K3CXqTtczNvysOqTD ePnzjLqRhZU7MPwQnSRQq1ZWO4Q5GAjZUOEh1xseQfk3TmPSUVMKPboqjOYJ11zCDt6RWULK SvNvyNMU6IUGmlIbCbbWV4vNFa8wMVFTUdATXaB9ySLD8Evb46JsU7KEaZdQaYGsLu+JdhZi jLRHMuU7nPxjF1rhrq0PyuXkrrnsUUQCecMHcOISuEYz6gIVE803ht7KS/pQ2BCC9XVl8d1l 8tNI/wp7NCGuUclzwIIIpQtwrNgawFQ6/2y3aMAevh/w9qw0Vx4IdYl2P3USjSQs3HQitZIf AgMBAAGjggFAMIIBPDAMBgNVHRMBAf8EAjAAMFYGCWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91 ciBvd24gY2VydGlmaWNhdGUgZm9yIEZSRUUgaGVhZCBvdmVyIHRvIGh0dHA6Ly93d3cuQ0Fj ZXJ0Lm9yZzAOBgNVHQ8BAf8EBAMCA6gwQAYDVR0lBDkwNwYIKwYBBQUHAwQGCCsGAQUFBwMC BgorBgEEAYI3CgMEBgorBgEEAYI3CgMDBglghkgBhvhCBAEwMgYIKwYBBQUHAQEEJjAkMCIG CCsGAQUFBzABhhZodHRwOi8vb2NzcC5jYWNlcnQub3JnMDEGA1UdHwQqMCgwJqAkoCKGIGh0 dHA6Ly9jcmwuY2FjZXJ0Lm9yZy9yZXZva2UuY3JsMBsGA1UdEQQUMBKBEFVsZi5aaWJpc0Bn bXguZGUwDQYJKoZIhvcNAQENBQADggIBAJ08P6jBx0XuOOn0ZiGDMUd6JLMH4SauhjoJ0Xe1 Dm3djZl5N420nQLPefRIiJj3HufH/FBBpr/KlvGpvm0WlDnyjwVAw79EgpsQQZH/HiVgb1ay upSEptSEIXqaKOYNfT1izVnsOU/+JUzPbEajfbOiYCx42/an2/y5GzYUZ5ftyvV1W3lvHEgP TAOZSpGUisgC5WQnFhm59c90qgpRzdW/OMOyMFlNDfKinyCDUXN/FA8hZ7XKqDS8Z8ZynS8y 4UxdWnp2HB+Mbq8GMnv7RsSb5vE8Om4nmMTDnaS5PDA6sa+ZIppmEoxMR7cRpbX5tl52iaJN ZtkW+zxan60qSmLyVsu1x3CjCzPxKUE3DgEcBfpdsaDrv/Hx3gucyCtcdgo2dtTMEILoUIaY 4dtV0TmwgMgj7fNBIleUPAIBq2OaiPhR5DdSGEDK63P1FvzeAV6VT1ETFsZfxcNimjfawnhF XOWIvZRjQ2CETETNaYLRBCdTtO6qm8wN4ANNlvmQluxhC9Rpe9r32oWir4MuGrgqLFaQweTh Qvk8/CV7pIMBAmumdm/4gthA3kYrl6Oywa+mkhUNewDqlg+6vGLtaL/Vft0NDOs0Xa4qKYK8 b9L5ehOxfA4tdHh6yELo/8eF7ATosWt/Jmigc5ygmpYkMf0N77UecVgI6i/kshDtF1zKMYID sTCCA60CAQEwgYAweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5j YWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZI hvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcCAxJB0zANBglghkgBZQMEAgEFAKCCAgEwGAYJ KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTcwMzE1MjMyMDE2WjAv BgkqhkiG9w0BCQQxIgQgRBlH4WZJNbj7pYAJHSQnuQXAB7lBSlAKqGMbL7nos1owbAYJKoZI hvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBkQYJ KwYBBAGCNxAEMYGDMIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93 d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8G CSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwgZMGCyqGSIb3DQEJEAILMYGD oIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9y ZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS c3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwDQYJKoZIhvcNAQEBBQAEggEAe8GItSvxUQkc5gV5 KhjERMBeio+8mR5h5UnYVk2JldBHix3+FDqUQBhWD6haOgHPuAkroTrGB6HkXZIDRtkF9JeF HzUAap3oVaZqn00Hi118VFHrY3zl+XVDrajhl4yMWVsVH/UP1RtslzGcMRrSHFCi4jxppHHB ukS/CRzbzzdXdxYdVi4oAGAq9wnkKI95GOw24LSYXrKEXVGVtwQbXb78sROmp2Fi2yMJn4vh CqIGLi7AJFAmPtsqx8Uw9EOHq0S10aEpDqUMD0WWu8GfT3s5q63xwEa5pbw75G0CDfJbrUWy 7+GiHC8taEsTXOsJZxEug3CV1GMOXaY6MjwfGAAAAAAAAA== --------------ms070204000306080809050703-- From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Ulf Zibis Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 15 Mar 2017 23:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady , Eric Blake , 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.148962048513738 (code B ref 26101); Wed, 15 Mar 2017 23:29:02 +0000 Received: (at 26101) by debbugs.gnu.org; 15 Mar 2017 23:28:05 +0000 Received: from localhost ([127.0.0.1]:57671 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coIKq-0003ZW-QU for submit@debbugs.gnu.org; Wed, 15 Mar 2017 19:28:04 -0400 Received: from mout.gmx.net ([212.227.15.19]:62996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coIKp-0003Z3-Iz for 26101@debbugs.gnu.org; Wed, 15 Mar 2017 19:28:04 -0400 Received: from [192.168.178.31] ([92.72.206.9]) by mail.gmx.com (mrgmx001 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MZkv0-1cW49x3cWE-00LSg5; Thu, 16 Mar 2017 00:27:52 +0100 References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> From: Ulf Zibis Message-ID: <44dbf3b9-54bd-8aa3-de39-cf787b44b6c4@gmx.de> Date: Thu, 16 Mar 2017 00:27:50 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms020501010205070107080107" X-Provags-ID: V03:K0:oBIoVXiK0aHpBgomfJAxp0NmA/Al3NX6AD9yWjoqeszT8x4/A5r RPa010NTjuOdcyVt1BrUDFHHO7DAwMk8NWQ8g51ogRn9rl2dwuvumeQJF+7BnpCaLfEo/By eAlWq/s1Kx0dtlIqEFze7KH7TpcnwSii/d+thw3efGLmjGLRCnDDxSJp5mxFJm/MTBPAmZJ xq67D49FF/TzdQOO1OWEw== X-UI-Out-Filterresults: notjunk:1;V01:K0:5rKkEPEPG+w=:k7yp0Joi9R7p68SaC5Q8z5 hkQFqJo4H/spFTMambsoQssK9raf9thMi9Pz79TFORy+1qdWms8KmuSIvHr2vlbjtteZKbJIs q4EMe55nxblptifCQnPZu9+9sSOOKslPL/uv3gNMBD9RFjcp62rKpyJ7+MnTv57kPG16BpiEe SjrCQ7xCSksfqvDT7G9A6txB6w+FmQCQtCLEnMSRSWe+rJluJXl51WPVDPt/h3P8an9mKyFLq c98ohyH4a8/dmRoFFgsJcGm/9cTtyepdp3OSJLUiyGFZ7LN4Zo6x0o6BBtQwJZG7Ltm5dZ4WE 2ihk53INKVdurBlBcluJZdqzPDegQkDw8xh7GPdd0fmVF/YcktWXs2kmiLkKeP3tig1ZqTQv1 RzMsQVxwb/iV8g7j4kS067w5tJCKcbPn2hnuJlZSAJsSuF0YPwnejKvPk0rhYX30aAAgIPu1a S/ARJTxyu6Rz3/q0UAA6OonNihZghZJ+OE8KThssIYQYDd7zqqQnJXZNIDim3pZkq/ngbd//V 7Jy9RCClBpBkAhPUkXAjFX539ZyitYbJklA60GWygMUY6kp8aoJPeF5EilOo4ErrJ4l7GikRU qocqLvTIHD4gE8FPIj0mTaOi2k2F7d6oa8TnDna0dxRduLv9Enm9ApGGniXpyPpqIkbp94a+D LWndBK6UfczBX2jWTYSFFYjokBSon4HbgQ3pJJUMDNMgCNcPf20iHt8iOTabMFnOpu8Sf7ooE wIR6yvDjdS0XrkwnxtXvm6UMGwVfzqFLcRInynvLUBnuDDhJlpTkhdxxNuw= X-Spam-Score: -3.5 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.5 (---) This is a cryptographically signed message in MIME format. --------------ms020501010205070107080107 Content-Type: multipart/alternative; boundary="------------2CE906DC2AAA721A215FF0F7" This is a multi-part message in MIME format. --------------2CE906DC2AAA721A215FF0F7 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Am 15.03.2017 um 16:53 schrieb P=C3=A1draig Brady: > "coreutils FAQ" By the way, I think there is a typo: $ date --date=3D"$(date +%Y-%m-15) -1 month" +'Last month was %B.' Last month was June. $ date --date=3D"$(date +%Y-%m-15) +1 month" +'Next month will be %B.' Next month will be May. Compared with: $ thismonth=3D$(date --date=3D"@$now" "+%Y-%m-15 12:00") $ echo "LastMonth=3D$(date -d "$thismonth 1 month ago" +%B), NextMonth=3D= $(date -d "$thismonth 1 month" +%B)." LastMonth=3DMarch, NextMonth=3DMay. I assume, in the first example, it should be: Last month was *March*. -Ulf --------------2CE906DC2AAA721A215FF0F7 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Am 15.03.2017 um 16:53 schrieb P=C3=A1= draig Brady:
=C2=A0"coreutils FAQ"

By the way, I think there is a typo:
$ date --date=3D"$(date +%Y-%m-15) -1 month" +=
'Last month was %B.'
Last month was June.

$ date --date=3D"$(date +%Y-%m-15) +1 month" +'Next month will be %B.'
Next month will be May.
Compared with:
$ thismonth=3D$(date --date=3D"@$now" "+%Y-%m-=
15 12:00")
$ echo "LastMonth=3D$(date -d "$thismonth 1 month ago" +%B), NextMonth=3D=
$(date -d "$thismonth 1 month" +%B)."
LastMonth=3DMarch, NextMonth=3DMay.
I assume, in the first example, it should be:
Last month was *March*.

-Ulf

--------------2CE906DC2AAA721A215FF0F7-- --------------ms020501010205070107080107 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC BXcwggVzMIIDW6ADAgECAgMSQdMwDQYJKoZIhvcNAQENBQAweTEQMA4GA1UEChMHUm9vdCBD QTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNp Z25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcwHhcN MTYwODA3MTY1OTQ0WhcNMTgwODA3MTY1OTQ0WjA7MRgwFgYDVQQDEw9DQWNlcnQgV29UIFVz ZXIxHzAdBgkqhkiG9w0BCQEWEFVsZi5aaWJpc0BnbXguZGUwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCfGqu3hGvq9SxR3eMMy7m1OuKnBMGQji89U8/K3CXqTtczNvysOqTD ePnzjLqRhZU7MPwQnSRQq1ZWO4Q5GAjZUOEh1xseQfk3TmPSUVMKPboqjOYJ11zCDt6RWULK SvNvyNMU6IUGmlIbCbbWV4vNFa8wMVFTUdATXaB9ySLD8Evb46JsU7KEaZdQaYGsLu+JdhZi jLRHMuU7nPxjF1rhrq0PyuXkrrnsUUQCecMHcOISuEYz6gIVE803ht7KS/pQ2BCC9XVl8d1l 8tNI/wp7NCGuUclzwIIIpQtwrNgawFQ6/2y3aMAevh/w9qw0Vx4IdYl2P3USjSQs3HQitZIf AgMBAAGjggFAMIIBPDAMBgNVHRMBAf8EAjAAMFYGCWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91 ciBvd24gY2VydGlmaWNhdGUgZm9yIEZSRUUgaGVhZCBvdmVyIHRvIGh0dHA6Ly93d3cuQ0Fj ZXJ0Lm9yZzAOBgNVHQ8BAf8EBAMCA6gwQAYDVR0lBDkwNwYIKwYBBQUHAwQGCCsGAQUFBwMC BgorBgEEAYI3CgMEBgorBgEEAYI3CgMDBglghkgBhvhCBAEwMgYIKwYBBQUHAQEEJjAkMCIG CCsGAQUFBzABhhZodHRwOi8vb2NzcC5jYWNlcnQub3JnMDEGA1UdHwQqMCgwJqAkoCKGIGh0 dHA6Ly9jcmwuY2FjZXJ0Lm9yZy9yZXZva2UuY3JsMBsGA1UdEQQUMBKBEFVsZi5aaWJpc0Bn bXguZGUwDQYJKoZIhvcNAQENBQADggIBAJ08P6jBx0XuOOn0ZiGDMUd6JLMH4SauhjoJ0Xe1 Dm3djZl5N420nQLPefRIiJj3HufH/FBBpr/KlvGpvm0WlDnyjwVAw79EgpsQQZH/HiVgb1ay upSEptSEIXqaKOYNfT1izVnsOU/+JUzPbEajfbOiYCx42/an2/y5GzYUZ5ftyvV1W3lvHEgP TAOZSpGUisgC5WQnFhm59c90qgpRzdW/OMOyMFlNDfKinyCDUXN/FA8hZ7XKqDS8Z8ZynS8y 4UxdWnp2HB+Mbq8GMnv7RsSb5vE8Om4nmMTDnaS5PDA6sa+ZIppmEoxMR7cRpbX5tl52iaJN ZtkW+zxan60qSmLyVsu1x3CjCzPxKUE3DgEcBfpdsaDrv/Hx3gucyCtcdgo2dtTMEILoUIaY 4dtV0TmwgMgj7fNBIleUPAIBq2OaiPhR5DdSGEDK63P1FvzeAV6VT1ETFsZfxcNimjfawnhF XOWIvZRjQ2CETETNaYLRBCdTtO6qm8wN4ANNlvmQluxhC9Rpe9r32oWir4MuGrgqLFaQweTh Qvk8/CV7pIMBAmumdm/4gthA3kYrl6Oywa+mkhUNewDqlg+6vGLtaL/Vft0NDOs0Xa4qKYK8 b9L5ehOxfA4tdHh6yELo/8eF7ATosWt/Jmigc5ygmpYkMf0N77UecVgI6i/kshDtF1zKMYID sTCCA60CAQEwgYAweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5j YWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZI hvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcCAxJB0zANBglghkgBZQMEAgEFAKCCAgEwGAYJ KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTcwMzE1MjMyNzUwWjAv BgkqhkiG9w0BCQQxIgQgwlvXVjYEQA3BzExbPF7VKED86UlhiPhXqRlCXEw9rp4wbAYJKoZI hvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBkQYJ KwYBBAGCNxAEMYGDMIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93 d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8G CSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwgZMGCyqGSIb3DQEJEAILMYGD oIGAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9y ZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS c3VwcG9ydEBjYWNlcnQub3JnAgMSQdMwDQYJKoZIhvcNAQEBBQAEggEAeTPz1ZnjNzWkgjUs Zs+Vto57lOzd/2HMdRAmVvut5Ev3P24q0bNvU/Jjguh8j3bjypLJVFAJB/tvBcX8FXcCA1w+ 9G9bYV/2ILfwLQ6BIkMkzLrzFzQdtKJZDsTEey8Cf9sq2fPXW1EijpWjU04x0euH96pF7u44 XvYW01/jW2DcTzdbNZLS4VoVCXcvbf99bgoaOyoJ8L3p29JbwYqt3v+iDNRbnqP7OgQHn28t RTzjzT03mN961g0chQ9/KVAe7g2yvUIyhYGrupON7Ww6PNiKAbEb3sxTasp3uuwI+bejs2gO pzEVcpKuNxaN8EY1xazQMw47122ViN44VnYFAAAAAAAAAA== --------------ms020501010205070107080107-- From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Vincent Lefevre Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 07 Feb 2018 00:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Ulf Zibis Cc: 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.15179638583910 (code B ref 26101); Wed, 07 Feb 2018 00:38:02 +0000 Received: (at 26101) by debbugs.gnu.org; 7 Feb 2018 00:37:38 +0000 Received: from localhost ([127.0.0.1]:60724 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ejDk2-000110-Bp for submit@debbugs.gnu.org; Tue, 06 Feb 2018 19:37:38 -0500 Received: from joooj.vinc17.net ([155.133.131.76]:44560) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ejDk0-00010o-23 for 26101@debbugs.gnu.org; Tue, 06 Feb 2018 19:37:36 -0500 Received: from smtp-zira.vinc17.net (128.119.75.86.rev.sfr.net [86.75.119.128]) by joooj.vinc17.net (Postfix) with ESMTPSA id AF2436C; Wed, 7 Feb 2018 01:37:34 +0100 (CET) Received: by zira.vinc17.org (Postfix, from userid 1000) id 7539CC294D7; Wed, 7 Feb 2018 01:37:34 +0100 (CET) Date: Wed, 7 Feb 2018 01:37:34 +0100 From: Vincent Lefevre Message-ID: <20180207003734.GA1430@zira.vinc17.org> References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> X-Mailer-Info: https://www.vinc17.net/mutt/ User-Agent: Mutt/1.9.3+89 (65e1f5c8) vl-105418 (2018-01-21) X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On 2017-03-15 13:23:48 +0100, Ulf Zibis wrote: > A more simple example without touch: > $ date +%F > 2017-03-15 > $ date -d "-20 day" +%F > 2017-02-23 > $ date -d "-20 day -2 month" +%F > 2016-12-26 > $ date -d "-2 month -20 day" +%F > 2016-12-26 > > In the 2nd example I would expect: > 2016-12-23 Similarly: zira% date +%Y-%m-%d -d '2003-02-01 - 1 month' 2003-01-01 zira% date +%Y-%m-%d -d '2003-02-01 - 31 days' 2003-01-01 but if I add "+ 1 month", I get different results: zira% date +%Y-%m-%d -d '2003-02-01 - 31 days + 1 month' 2003-01-29 zira% date +%Y-%m-%d -d '2003-02-01 - 1 month + 1 month' 2003-02-01 Unfortunately this behavior, which is due to the fact that operations are reordered to take into account years, then months, then days, is not documented in the Coreutils manual. -- Vincent Lefèvre - Web: 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon) From unknown Sat Aug 16 18:43:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26101: Counterproductive calculation order in date Resent-From: Assaf Gordon Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 07 Feb 2018 10:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26101 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Vincent Lefevre , Ulf Zibis Cc: 26101@debbugs.gnu.org Received: via spool by 26101-submit@debbugs.gnu.org id=B26101.15180003296124 (code B ref 26101); Wed, 07 Feb 2018 10:46:01 +0000 Received: (at 26101) by debbugs.gnu.org; 7 Feb 2018 10:45:29 +0000 Received: from localhost ([127.0.0.1]:60904 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ejNEG-0001ah-IW for submit@debbugs.gnu.org; Wed, 07 Feb 2018 05:45:28 -0500 Received: from mail-pg0-f43.google.com ([74.125.83.43]:32803) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ejNEE-0001aS-Qc for 26101@debbugs.gnu.org; Wed, 07 Feb 2018 05:45:27 -0500 Received: by mail-pg0-f43.google.com with SMTP id u1so140153pgr.0 for <26101@debbugs.gnu.org>; Wed, 07 Feb 2018 02:45:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=KDv0cUOO127fq8VjGq6it5zuokfRPYoWTmcNY0nAu40=; b=KBBS65UvSoagg0JSK4NfVLnck5lh/hqpkWNWIPXAzYg11jvob01iA3PZdDE4ERLJRf HBVFIjfwTz+gJB3e67VXEwVo5uUCV9Ob4vIABSSII7MrMwVN10e+qIbUf9KgNvtP7Ser qZwNfJkfn+CXtVo3+Le+0pdif2vI33PKvwIv2q0n8r+mWVfmn07Zh++aoLqVMZJBUWlf R69GvVVtX+a86bFbHhiTfllQnqYKh8xdwXbNUf1hvVRoVAkuxShGvQTVgOe6Jb7tdqD2 VpZblXqzUTH7ZASMXxCtV0LyAc/Z1nQH6BE6LSMhNRtrHEiLntJJwtbjwDrCHIg4G3WM nViA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=KDv0cUOO127fq8VjGq6it5zuokfRPYoWTmcNY0nAu40=; b=aWMoPRZy9hSFfCVEsXR16hvMw8592UtVr3yeen6KSTUkR2WdgxPAyxlJHMh0+z9pRn 6q4EhYckJoF8OI9jkY3CJh+fwha0LHeVdJCL8w1ICBWfk53hp8t4D16YxQbf6mTHyDXz x7IJm0zzxN/nIQ9Xui6Aw+vaIh69ZdSSBfa2GZRQn+svV7f6QapvXLBA/mAk1I9kvw6L xOIRTm7jpQ6eU5XWjM5dgX5H0sF9xc8RSDGYDugvdoUrG4Jd13AXKJak9y8utq4W+AVl jj+0yHhk/4yUJUNDFJban5/yz6hzLIGP5pUf7/DrNupln/wgvXG0KxOa2PAYCJrZXbEn 8pJA== X-Gm-Message-State: APf1xPBdsaKvf2HJHSknNRhPzbcgwV/61W8KehXNLC9l0uNfse1Bqm3n O5BjffkJs0ujt+b1KwVNnGoNfmCr X-Google-Smtp-Source: AH8x224Get8tUFHVZchDVOYHEyfeRYE0HqUy9j1zI3Q728dseV/t3l+SkgsM8jz3HzJmnPHrneeARw== X-Received: by 10.101.67.5 with SMTP id j5mr4690113pgq.442.1518000320406; Wed, 07 Feb 2018 02:45:20 -0800 (PST) Received: from [192.168.88.239] (moose.housegordon.com. [184.68.105.38]) by smtp.googlemail.com with ESMTPSA id e88sm3485814pfl.80.2018.02.07.02.45.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Feb 2018 02:45:19 -0800 (PST) References: <1f97d345-73c2-e42c-13bf-fab7d3fb7d61@gmx.de> <15adeadc-06ec-da3b-82ec-e9d0ea7ed3da@gmx.de> <20180207003734.GA1430@zira.vinc17.org> From: Assaf Gordon Message-ID: Date: Wed, 7 Feb 2018 03:45:17 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20180207003734.GA1430@zira.vinc17.org> Content-Type: multipart/mixed; boundary="------------8B7367F882497C7FD17FEEFE" Content-Language: en-US X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) This is a multi-part message in MIME format. --------------8B7367F882497C7FD17FEEFE Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hello Vincent and all, On 2018-02-06 05:37 PM, Vincent Lefevre wrote: > Similarly: > > zira% date +%Y-%m-%d -d '2003-02-01 - 1 month' > 2003-01-01 > zira% date +%Y-%m-%d -d '2003-02-01 - 31 days' > 2003-01-01 > > but if I add "+ 1 month", I get different results: > > zira% date +%Y-%m-%d -d '2003-02-01 - 31 days + 1 month' > 2003-01-29 > zira% date +%Y-%m-%d -d '2003-02-01 - 1 month + 1 month' > 2003-02-01 > > Unfortunately this behavior, which is due to the fact that operations > are reordered to take into account years, then months, then days, is > not documented in the Coreutils manual. That is not accurate - there is no "operation order" (except in the sense that hours/minutes/seconds are handled separately after years/months/days). What happens technically is that when adding years/months/days the 'date' program operates directly on the "struct tm" member variables [1], and then uses the mktime function [2] to normalize invalid dates. [1] http://pubs.opengroup.org/onlinepubs/7908799/xsh/time.h.html [2] http://pubs.opengroup.org/onlinepubs/7908799/xsh/mktime.html In your example: The date "2003-02-01" becomes the following values in "struct tm": tm.tm_year = 103 (years since 1900) tm.tm_mon = 1 (zero-based, 0=Jan, 1=Feb, 2=Mar) tm.tm_mday = 1 The date "2003-02-01 - 31 days + 1 month" becomes the following values: tm.tm_year = 103 tm.tm_mon = 2 (1=Feb + 1 month) tm.tm_mday = -30 (1 - 31) Then calling mktime(3) normalizes it to "2003-01-29". Please see the attached C program which reproduces the steps above. The coreutils/gnulib equivalent arithmetics code is in 'parse-datetime.y' line 2161 [3] (or search for the comment "Add relative date."). [3] https://opengrok.housegordon.com/source/xref/gnulib/lib/parse-datetime.y#2161 ---- As for "how it should behave", there are so many edge-cases with date calculations that no single implementation would satisfy everyone. To avoid such issues, it is recommended in the FAQ (and in the --debug output) to always use the 15th day of the month when adding months (and similarly, use 12pm when adding days and hours, and use the middle of year when adding years). Few examples: 1. Mar 27th in EEST time zone has only 23 hours due to DST, which leads to the following difference: $ TZ=Europe/Helsinki date -d '2011-03-28 - 24 hours' +%F 2011-03-26 $ TZ=Europe/Helsinki date -d '2011-03-28 - yesterday' +%F 2011-03-27 If you add "12pm" (the middle of the day), then the calculations are more intuitive: $ TZ=Europe/Helsinki date -d '2011-03-28 12pm - yesterday' +%F 2011-03-27 $ TZ=Europe/Helsinki date -d '2011-03-28 12pm - 24 hours' +%F 2011-03-27 2. February 2003 had 28 days, leading to the following result: $ date +%F -d '2003-03-31 - 31 days' 2003-02-28 $ date +%F -d '2003-03-31 - 1 month' 2003-03-03 It becomes clearer with "--debug": $ date +%F --debug -d '2003-03-31 - 1 month' date: parsed date part: (Y-M-D) 2003-03-31 [...] date: warning: when adding relative months/years, it is recommended to specify the 15th of the months [...] date: warning: month/year adjustment resulted in shifted dates: date: adjusted Y M D: 2003 02 31 date: normalized Y M D: 2003 03 03 But if you had used the 15th of the month, it would "just work": $ date +%F -d '2003-03-15 - 1 month' 2003-02-15 Similarly: $ ./date +%F -d '2003-10-30 - 8 months' 2003-03-02 $ ./date +%F -d '2003-10-15 - 8 months' 2003-02-15 3. months with 30 vs 31 days cause similar issues: $ ./date +%F -d '2003-05-30 - 1 month' 2003-04-30 $ ./date +%F -d '2003-05-31 - 1 month' 2003-05-01 $ ./date +%F --debug -d '2003-05-31 - 1 month' date: parsed date part: (Y-M-D) 2003-05-31 date: parsed relative part: -1 month(s) [...] date: warning: when adding relative months/years, it is recommended to specify the 15th of the months [...] date: warning: month/year adjustment resulted in shifted dates: date: adjusted Y M D: 2003 04 31 date: normalized Y M D: 2003 05 01 [...] 4. And of course, issues with leap years (2016 was a leap year, 2017 was not): $ date +%F -d '2016-01-01 + 1 year' 2017-01-01 $ date +%F -d '2016-01-01 + 365 days' 2016-12-31 $ date +%F -d '2016-02-29 + 1 year' 2017-03-01 $ ./date +%F --debug -d '2016-02-29 + 1 year' date: parsed date part: (Y-M-D) 2016-02-29 date: parsed relative part: +1 year(s) [...] date: warning: month/year adjustment resulted in shifted dates: date: adjusted Y M D: 2017 02 29 date: normalized Y M D: 2017 03 01 [...] By using the 15th of the month, adding years becomes more intuitive: $ date +%F -d '2016-02-15 + 1 year' 2017-02-15 regards, - assaf --------------8B7367F882497C7FD17FEEFE Content-Type: text/x-csrc; name="date-arith.c" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="date-arith.c" /* Copyright (C) 2018 Assaf Gordon License: public domain. Example of date arithmetics, related to discussion in https://lists.gnu.org/archive/html/bug-coreutils/2018-02/msg00002.html Explaining why: $ date +%Y-%m-%d -d '2003-02-01 - 31 days + 1 month' 2003-01-29 Compile with: gcc -o date-arith date-arith.c */ #include #include #include #include int main() { struct tm a; time_t t; memset (&a, 0, sizeof a); /* Date is "2003-02-01 - 31 days + 1 month" */ a.tm_year = 103; /* years since 1900 */ a.tm_mon = 1 + 1 ; /* 0=jan, 1=feb .. 11=dec */ a.tm_mday = 1 - 31 ; /* day-of-month: 1 to 31 */ printf("before: %04d-%02d-%02d\n",a.tm_year+1900,a.tm_mon+1,a.tm_mday); /* call libc to check and normalize the values in 'struct tm'. POSIX specifically says: http://pubs.opengroup.org/onlinepubs/7908799/xsh/mktime.html "The original values of the tm_wday and tm_yday components of the structure are ignored, and the original values of the other components are not restricted to the ranges described in the entry." Therefore "tm_mday=-30" is a valid value which will be normalized. (error checking ommited for brevity). */ t = mktime (&a); /* Now convert back to struct tm */ localtime_r (&t, &a); printf("after: %04d-%02d-%02d\n",a.tm_year+1900,a.tm_mon+1,a.tm_mday); return 0; } --------------8B7367F882497C7FD17FEEFE-- From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 28 22:56:35 2018 Received: (at control) by debbugs.gnu.org; 29 Oct 2018 02:56:35 +0000 Received: from localhost ([127.0.0.1]:49640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGxjH-0002i9-8o for submit@debbugs.gnu.org; Sun, 28 Oct 2018 22:56:35 -0400 Received: from mail-io1-f52.google.com ([209.85.166.52]:43535) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGxjB-0002hs-Qf for control@debbugs.gnu.org; Sun, 28 Oct 2018 22:56:30 -0400 Received: by mail-io1-f52.google.com with SMTP id y10-v6so4033512ioa.10 for ; Sun, 28 Oct 2018 19:56:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:message-id:date:user-agent:mime-version:content-language :content-transfer-encoding; bh=hlGO4y8GstjYe/WvWZclobczr0QMXgHCMyPObzL/gLs=; b=t0WU/u5i19TDla0EpbNL8fUnvSU5Owp8Ey0sFhLQ7p3PmldQpxDFf2qhJAc6dTUJD4 1xK5PqdC6jA56E3DXbAijEkIgpcg53/hiep83mvjXdxuF8cstVWjZbwUM6T48sSkU9jj jTQ2K/Tenqo56MbrzC4iHTqGF3GYrm1+uMWBenURZUVuEE7Wwco4nYiPuZD6vpeDjJq7 hINTAM6SM7wsIbtDhd1xG0G3DiGk3c5Iw2lBFcdaRTHWoLbl7GiHP8IKK/D2gKeYgNCt 33jTmtaiFjBdrr905dhshIuzG9pd+QIDA/7XkF48nogM17+3T9IMJ9kHmiGH8lA/2REo HVNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=hlGO4y8GstjYe/WvWZclobczr0QMXgHCMyPObzL/gLs=; b=J0CiA0C/Yeh2tEkh3Pha470fEhcNVNFCbH/L9LYp5HzPLVqpuUtySOvs9yFEjIFCo/ K427gvPAZcBtnPSNANRhGmSPle6eORyw8QVgKKr34G8eeIlm+hfSsaiqlYkNW68y4nzd fzBE4tEA/1EozoEpvA11uj+6ovyJEU98gXotktNyOeCGu9szFJjbPMEs5U/Fh8z/18WM syy99+FDg5RAASxoWF1zx9ldbFargMCl4uYUSFTr82ZY3Sze/JY4c2hh5g5OtGqcI+Bz zPUCpu2pS35Ir604mG/56HPCSLKw55D/VN+UyKWf9wf6pE37Pn9A0avbD4NEFRHF2lCz 0G2A== X-Gm-Message-State: AGRZ1gL9Nmhv9kYrt/0704A/HrYJFpp4Pv94qa+yISqJwnJeJPvZ+5Dm qkLCMHB0YV02jLA2t8YOM8NHCCZSjjw= X-Google-Smtp-Source: AJdET5eS6aS1ETIbFY0tJMP72MVpKHfq8jusMWB49Fv+YmZdZlq9zQMJVSWd1boq69aoXFcN+8z4FA== X-Received: by 2002:a6b:b749:: with SMTP id h70-v6mr7008227iof.83.1540781783489; Sun, 28 Oct 2018 19:56:23 -0700 (PDT) Received: from tomato.housegordon.com (moose.housegordon.com. [184.68.105.38]) by smtp.googlemail.com with ESMTPSA id e78-v6sm6496867itc.4.2018.10.28.19.56.22 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Oct 2018 19:56:22 -0700 (PDT) To: control@debbugs.gnu.org From: Assaf Gordon Message-ID: <004d9576-141b-89a4-e4f9-1bbcd8999cda@gmail.com> Date: Sun, 28 Oct 2018 20:56:21 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: tags 26101 notabug close 26101 [...] Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [209.85.166.52 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (assafgordon[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) tags 26101 notabug close 26101