Hi Juergen,

>> I may've been thrown off by the following "no-zone" types...should they be 
>> named consistently?
>> 
>>   - date-no-zone  -->  date-no-zone-offset  or  date-without-zone-offset
>>   - time-no-zone  -->  time-no-zone-offset  or  time-without-zone-offset
> 
> The 'no-zone' indicates no zone information, neither by offset nor by zone 
> name.

I see.  Then there are three variants?

        foo-no-zone
        foo-zone-with-zone-offset
        foo-zone-with-zone-name

Where "foo" is "date" and "time".  To complete the set, are these two 
definitions missing?

        yang:date-with-zone-name   
        yang:time-with-zone-name



>>>> 4) Is the "-offset" postfix needed?  Or maybe remove the "-zone" part and 
>>>> only have "-offset"?
>>> 
>>> As noted on a private communication, I looked at what some of the more
>>> modern programming language libraries do. So let me shre this here:
>>> 
>>> * Python (datetime)
>>> 
>>> They distinguish 'aware' and 'naive' dates.
>>> 
>>>   Date and time objects may be categorized as "aware" or "naive"
>>>   depending on whether or not they include timezone information.
>>>   [...]
>>>   An aware object represents a specific moment in time that is not
>>>   open to interpretation.
>>>   [...]
>>>   For applications requiring aware objects, datetime and time
>>>   objects have an optional time zone information attribute, tzinfo,
>>>   that can be set to an instance of a subclass of the abstract
>>>   tzinfo class. These tzinfo objects capture information about the
>>>   offset from UTC time, the time zone name, and whether daylight
>>>   saving time is in effect.
>>> 
>>> Note that there is both a zone offset and a zone name. Note that a
>>> zone name may resolve to different offsets depending on the timezone
>>> rules in effect at a given point in time.
>>> 
>>> * Rust (chrono)
>>> 
>>> They also distinguish between aware and naive:
>>> 
>>>   Chrono is timezone-aware by default, with separate timezone-naive
>>>   types.
>>>   [...]
>>>   DateTime is timezone-aware and must be constructed from the
>>>   TimeZone object, which defines how the local date is converted to
>>>   and back from the UTC date. There are three well-known TimeZone
>>>   implementations [...].
>>> 
>>> My reading of their documentation is that their TimeZone object
>>> essentially resolves to an offset, not a timezone name.
>>> 
>>> In some contexts, it may be useful to think in terms of
>>> 2022-12-05@[Europe/Berlin] rather than 2022-12-05+01:00 (in particular
>>> if you keep daylight saving times in your mind or changes of offsets)
>>> and to be clear that we currently only model offsets, I decided for
>>> the longer and more explicit name date-with-zone-offset (as there was
>>> some push towards longer and more precise type names).
>>> 
>>> For interested parties, there is also work in the IETF on adding
>>> names to the RFC3339 format:
>>> 
>>> https://datatracker.ietf.org/doc/draft-ietf-sedate-datetime-extended/
>>> 
>>> They discuss formats like 2022-07-08T00:14:07+01:00[Europe/Paris] and
>>> then go into the details if the name and offset are inconsistent etc.
>> 
>> 
>> "Offsets" are good (regional names would be too involved, IMO)
> 
> Zone offsets change for certain locations regularly (daylight saving
> times) and this is why many user facing interfaces configure time zone
> locations by letting the user select a zone name like Europe/London
> that then maps via the IANA timezone database rules to the specific
> zone offsets.
> 
>> My thought is only to shorten the names.  e.g., time-with-zone-offset --> 
>> time-with-offset?  If it doesn't make sense, semantically, then no worries 
>> keeping as is.
> 
> Some what descriptive names, some want names to be future proof,
> others want names that match names used elsewhere, then some prefer
> short names, its obviously difficult. Initially we had date (with an
> optional zone offset) plus date-no-zone without it. This matchedthe
> good old date-and-time (which also has an optional zone offset).

Fine.


>>>> 2) no deprecation of the legacy "*-address" types?
>>> 
>>> Since there was no consensus to change (and break) definitions, I
>>> thought we agreed to simply make no changes and to keep what we have.
>> 
>> 
>> This was discussed at 115, on slide #8 here: 
>> https://datatracker.ietf.org/meeting/115/materials/slides-115-netmod-1-session-intro-wg-status-00.
>> 
>> Lou and I are trying to break the logjam, and no one objected, so it's fine 
>> to proceed now.  What I'd do:
>> 
>>   1) rename the existing definitions to the new name.
>>   2) recreate the old definitions as having the "type" of the new 
>> definitions and "status deprecated".
>> 
> 
> Consensus is determined on the mailing list, no?

And here we are.  It appears the one side is being vocal, and the other side 
not at all.  I have no appetite to delay this the draft any longer.  Disregard.


> I am sorry that I missed decisions taken in London by not reading the
> slides. So I should also remove the language-tag type I guess.

I'd forgotten your exchange with Tom Petch.  Disregard. 


Let's close on the thread at top and then exit the document from the working 
group.


Kent // co-chair and shepherd

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to