Sorry, an error occurred while loading the content.
Browse Groups

• ## Re: [ISO8601] Re: meaning of time-interval

(22)
• NextPrevious
• ... I agree that this would be reasonable, but after rereading the standard I have severe doubts about that. In Fundamental principles/Basic Concepts
Message 1 of 22 , Jan 31, 2005
View Source

> The second example of adding exactly 1 day to UTC noon on a 30
> June that has a leap second should result in UTC noon on 1 July
> (12:00), as hours aren't being added; just days.

I agree that this would be reasonable, but after rereading the standard
I have severe doubts about that. In "Fundamental principles/Basic
Concepts" duration is defined as a quantity of time expressed in
time-units. Days, hours and minutes are fixed time units with fixed
conversion rules to SI-seconds. Consequently:

1997-06-30T12:00:00/1D == 1997-06-30T12:00:00/1997-07-01T11:59:59

It would be interesting to test this with an application which claims to
be ISO-conform.

As far I can see now, the following statement of the standard does not
apply in this example:
"This International Standard does not assign any particular meaning or
interpretation to any data element that uses representations in
accordance with this International Standard. Such meaning will be
determined by the context of the application."

But I think it has to be applied if months are used to define a
duration, because the time-unit month is defined broadly as 28, 29, 30
or 31 days and therefor is open to be defined in detail by an application.

That means a term like 2005-05-31/1M has no particular meaning per se.

So far my current understanding of the standard. Corrections welcome.

-- Klaus
• If someone was born on 2004-02-29 when is their first birthday? You might say 2005-03-01 or 2005-02-28. Does that mean that they have the same birthday as
Message 1 of 22 , Feb 1, 2005
View Source
If someone was born on 2004-02-29 when is their first birthday? You
might say 2005-03-01 or 2005-02-28. Does that mean that they have the
same birthday as someone born on 2004-03-01 or 2004-02-28?

There is a general expectation of addition that subtraction of the
addend from the sum gives the original.

Arbitrary arithmetic is not be possible using any units. You cannot
add anything to 1997-06-30T23:59:60Z except for 1Y6M and similar. A
small number of seconds would be okay but a large interval could not
extend more than a few months into the future because of
unpredictability of leap seconds. Any other units would produce a
result with 60 in the seconds.

The only way to do correct interval arithmetic is to use something
like TAI. But that is off topic for ISO 8601.

IMHO the intent of time-intervals involving duration in ISO 8601 is
that the start + duration or end - duration should (must?) be a valid
date-time without having to apply any normalization rules.

--
Pete Forman -./\.- Disclaimer: This post is originated
WesternGeco -./\.- by myself and does not represent
pete.forman@... -./\.- opinion of Schlumberger, Baker
http://petef.port5.com -./\.- Hughes or their divisions.
• But certain combinations using duration DO result in invalid start or end times. Do we just not speak of them (you aren t allowed to use duration in those
Message 1 of 22 , Feb 1, 2005
View Source
But certain combinations using duration DO result in invalid start or end times. Do we just not speak of them (you aren't allowed to use "duration" in those cases) or do we have normalization rules? I think normalization rules make more sense, but some cases, either of two values may seem "reasonable." They can either be agreed by the partners or standardized within the scope of the standard. I think it would be better to have proposed normalization rules in the standard "unless otherwise agreed by the partners."

Pete Forman <pete.forman@...> wrote:

IMHO the intent of time-intervals involving duration in ISO 8601 is
that the start + duration or end - duration should (must?) be a valid
date-time without having to apply any normalization rules.
• For the birthday on 29 February, I (personally) probably would celebrate it on 1 March on non-leap years if I had such a birthday, because 28 February on any
Message 1 of 22 , Feb 1, 2005
View Source
For the birthday on 29 February, I (personally) probably would
celebrate it on 1 March on non-leap years if I had such a birthday, because
28 February on any kind of year is before 29 February.

Something slightly off-topic, but may apply to the latest
discussions on here has to do with my wristwatch, a Casio G-Shock that has
the date in YYYY M- D ('2000 1- 13' for 13 January 2000) format and time
in 24-hour format. I can set any of the five alarms to go off on certain
dates: either every day in a particular month (shown as ' 1- - -' for
every day in January), every month on a particular day (like every 15th day
of every month, shown as '- --15' for the 15th day of every month), or on
an exact date (like every 14 January, shown as ' 1-14'). I wonder what
would happen should I set the alarm to go off on every 31st day, or a
similar day number within a month. Perhaps it will sound only seven times a
year (on the months with 31 days)? If not, I would guess the next logical
thing it should do would be to sound on the last day of every month.

Any opinions?

PS: I wonder why ISO 8601 doesn't allow for time zone offsets beyond
minute-resolution (eg. YYYY-MM-DDTHH:mm:ss±hh:mm:ss.sss) (like that
historical Netherlands offset having centisecond-resolution).

At 2005-02-01 16:31 (UTC+0000), you wrote:

>If someone was born on 2004-02-29 when is their first birthday? You
>might say 2005-03-01 or 2005-02-28. Does that mean that they have the
>same birthday as someone born on 2004-03-01 or 2004-02-28?
>
>There is a general expectation of addition that subtraction of the
>addend from the sum gives the original.
>
>Arbitrary arithmetic is not be possible using any units. You cannot
>add anything to 1997-06-30T23:59:60Z except for 1Y6M and similar. A
>small number of seconds would be okay but a large interval could not
>extend more than a few months into the future because of
>unpredictability of leap seconds. Any other units would produce a
>result with 60 in the seconds.
>
>The only way to do correct interval arithmetic is to use something
>like TAI. But that is off topic for ISO 8601.
>
>IMHO the intent of time-intervals involving duration in ISO 8601 is
>that the start + duration or end - duration should (must?) be a valid
>date-time without having to apply any normalization rules.
• But the presence of leap seconds means that not even days, hours, and minutes are fixed time units, so the portion of the standard you quoted is in error.
Message 1 of 22 , Feb 2, 2005
View Source
But the presence of leap seconds means that not even days, hours, and
minutes are fixed time units, so the portion of the standard you
quoted is in error.

> I have severe doubts about that. In "Fundamental principles/Basic
> Concepts" duration is defined as a quantity of time expressed in
> time-units. Days, hours and minutes are fixed time units with fixed
> conversion rules to SI-seconds. Consequently:
• This is what makes this subject so interesting. It may also be why ISO8601 only defines the formats, but doesn t define what the data _means_. It is up to the
Message 1 of 22 , Feb 2, 2005
View Source
This is what makes this subject so interesting. It may also be why
ISO8601 only defines the formats, but doesn't define what the data
_means_. It is up to the partners in information interchange to
decide what they want to do with the stuff.

> There is a general expectation of addition that subtraction of the
> addend from the sum gives the original.
>
> Arbitrary arithmetic is not be possible using any units. You cannot
> add anything to 1997-06-30T23:59:60Z except for 1Y6M and similar. A
> small number of seconds would be okay but a large interval could not
> extend more than a few months into the future because of
> unpredictability of leap seconds. Any other units would produce a
> result with 60 in the seconds.
• The alternative representation is intended to impose range limits on the values. E.g. you shouldn t put a number larger than 24 in the hour field.
Message 1 of 22 , Feb 2, 2005
View Source
The "alternative" representation is intended to impose range limits
on the values. E.g. you shouldn't put a number larger than 24 in the
hour field.

--- In ISO8601@yahoogroups.com, Klaus Schmid <klaus.schmid@w...>
wrote:
> It seems the standard provides different representations of a
> time-interval, therefor it should be possible to convert one
> representation into another, e.g.:
>
> 19850412T232000/P1Y2M15DT12H ==
>
> == 19850412T232000/<<<<<<1985 +1Y> +6M> +27D>T +35H> +20M> +0S> ==
>
> == 19850412T232000/19860628T112000
>
> Is this interpretation of the standard correct, or does the actual
> meaning of a time-interval depend on mutual agreement?
>
> -- Klaus
• Comments attached Harry Shipley * -----Original Message----- * From: Pete Forman [mailto:pete.forman@westerngeco.com] * Sent: 01 February 2005 17:31 * To:
Message 1 of 22 , Feb 2, 2005
View Source

Harry Shipley

* -----Original Message-----
* From: Pete Forman [mailto:pete.forman@...]
* Sent: 01 February 2005 17:31
* To: ISO8601@yahoogroups.com
* Subject: Re: [ISO8601] Re: meaning of time-interval
*
*
* If someone was born on 2004-02-29 when is their first birthday? You
* might say 2005-03-01 or 2005-02-28. Does that mean that they have the
* same birthday as someone born on 2004-03-01 or 2004-02-28?

[Harry Shipley]
The birthday is one year later; which year length (tropical, leap, Gregorian
ordinary or sidereal to name but a few) you choose from is up to you
depending on what you wish to celebrate. The problem is compounded by the
fact that no-one knows how long a year is, particularly because it is a
varying quantity. Part of the confusion here is that leap years are being
added to some dates and ordinary years to others; little wonder that
different start dates end up on the same anniversary date!

*
* There is a general expectation of addition that subtraction of the
* addend from the sum gives the original.
*
* Arbitrary arithmetic is not be possible using any units. You cannot
* add anything to 1997-06-30T23:59:60Z except for 1Y6M and similar. A
* small number of seconds would be okay but a large interval could not
* extend more than a few months into the future because of
* unpredictability of leap seconds. Any other units would produce a
* result with 60 in the seconds.

[Harry Shipley]
I can't see the problem with arithmetic. A date/time, plus a time interval
which is unambiguously related back to SI seconds leads to a second
date/time (assuming we know what leap seconds are to be added, but anyone in
possession of a date/time can modify it appropriately). We know how to
write that date time. Just as if we add 17 and 25 we get 42, we don't get
"three" in the tens column and "twelve" in the units. Everyone understands
how to carry from one column to the next; so we carry days to months or
hours to days, etc.

*
* The only way to do correct interval arithmetic is to use something
* like TAI. But that is off topic for ISO 8601.

[Harry Shipley]
I think is on topic to emphasise that the second is the SI time unit. Every
other unit used must be related to the second, and not used on its own. A
month is not a fixed time interval, but the varying time between changes of
month identifier, which are better identified by that change and not the
specification of a time interval.
*
* IMHO the intent of time-intervals involving duration in ISO 8601 is
* that the start + duration or end - duration should (must?) be a valid
* date-time without having to apply any normalization rules.
*
*

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.8.2 - Release Date: 2005-01-28
• ... If that someone is Chinese, (I think) they are considered to be already one year old since counting of birthdays considers the starting point to be the
Message 1 of 22 , Feb 2, 2005
View Source
Harry Shipley wrote:
>
> * -----Original Message-----
> * From: Pete Forman [mailto:pete.forman@...]
> * Sent: 01 February 2005 17:31
> * To: ISO8601@yahoogroups.com
> * Subject: Re: [ISO8601] Re: meaning of time-interval
> *
> *
> * If someone was born on 2004-02-29 when is their first birthday? You
> * might say 2005-03-01 or 2005-02-28. Does that mean that they have the
> * same birthday as someone born on 2004-03-01 or 2004-02-28?

If that someone is Chinese, (I think) they are considered to be already
one year old since counting of birthdays considers the starting point to
be the time of conception. (More or less.)

The question is further complicated by the fact that you didn't specify
the timezone the person was born in. Ignoring leap days, if someone is
born on 2002-02-02 in time zone -1200
and someone else is born on 2002-02-02 in time zone +1200, were they
born on the same day or not?

They could be more than 24 hours apart depending on the exact time of
day...
• Although we now use a strict ordinal counting of the days of the month, originally the extra day was added to the 24th day of February, i.e. the 24th was
Message 1 of 22 , Feb 3, 2005
View Source
Although we now use a strict ordinal counting of the days of the
month, originally the extra day was added to the 24th day of February,
i.e. the 24th was counted as two days, followed by the 25th-28th. In
Roman backwards counting, this was the sixth day before the kalends of
March, and the extra day was called the second-sixth, or "bissextile".
Traditionally, feast days of saints in February after this day were
celebrated one day later in leap years. So you see, the last day of
February remains the last day of February even in leap years. See
http://en.wikipedia.org/wiki/Leap_year#Which_day_is_the_leap_day.3F

Of course, few now count days this way, and even the Church has
recently started following an ordinal count. And you can celebrate
your birthday any day you wish; my brother celebrates his in June,
since he was born on Christmas Eve, and that's a sucky time to
celebrate a birthday.

Besides, nobody else born the several days of February celebrates a
day later during leap years; if they were born on the 27th day of
February, on any year, they celebrate on the 27th of February on both
normal and leap years, even though its the 3rd day of kalends in
normal years and the 4th in leap years.

John Hynes

--- In ISO8601@yahoogroups.com, NGUYEN Adam <ivy19991231@s...> wrote:
> For the birthday on 29 February, I (personally) probably would
> celebrate it on 1 March on non-leap years if I had such a birthday,
because
> 28 February on any kind of year is before 29 February.
>
> Something slightly off-topic, but may apply to the latest
> discussions on here has to do with my wristwatch, a Casio G-Shock
that has
> the date in YYYY M- D ('2000 1- 13' for 13 January 2000) format
and time
> in 24-hour format. I can set any of the five alarms to go off on
certain
> dates: either every day in a particular month (shown as ' 1- - -' for
> every day in January), every month on a particular day (like every
15th day
> of every month, shown as '- --15' for the 15th day of every month),
or on
> an exact date (like every 14 January, shown as ' 1-14'). I wonder what
> would happen should I set the alarm to go off on every 31st day, or a
> similar day number within a month. Perhaps it will sound only seven
times a
> year (on the months with 31 days)? If not, I would guess the next
logical
> thing it should do would be to sound on the last day of every month.
>
> Any opinions?
>
> PS: I wonder why ISO 8601 doesn't allow for time zone offsets beyond
> minute-resolution (eg. YYYY-MM-DDTHH:mm:ss±hh:mm:ss.sss) (like that
> historical Netherlands offset having centisecond-resolution).
>
> At 2005-02-01 16:31 (UTC+0000), you wrote:
>
>
> >If someone was born on 2004-02-29 when is their first birthday? You
> >might say 2005-03-01 or 2005-02-28. Does that mean that they have the
> >same birthday as someone born on 2004-03-01 or 2004-02-28?
> >
> >There is a general expectation of addition that subtraction of the
> >addend from the sum gives the original.
> >
> >Arbitrary arithmetic is not be possible using any units. You cannot
> >add anything to 1997-06-30T23:59:60Z except for 1Y6M and similar. A
> >small number of seconds would be okay but a large interval could not
> >extend more than a few months into the future because of
> >unpredictability of leap seconds. Any other units would produce a
> >result with 60 in the seconds.
> >
> >The only way to do correct interval arithmetic is to use something
> >like TAI. But that is off topic for ISO 8601.
> >
> >IMHO the intent of time-intervals involving duration in ISO 8601 is
> >that the start + duration or end - duration should (must?) be a valid
> >date-time without having to apply any normalization rules.
• There s a +1300 (+1200 in DST) too. ;-) That timezone problem could be solved by converting both times to UTC. About Chinese (?; I thought Korean was like
Message 1 of 22 , Feb 4, 2005
View Source
There's a +1300 (+1200 in DST) too. ;-) That timezone problem
could be solved by converting both times to UTC.

About Chinese (?; I thought Korean was like this), the question of
how old someone is can be ambiguous in that respect, if you take that into
consideration. Would asking someone's date of birth be as ambiguous?

At 2005-02-02 15:08 (UTC-0800), you wrote:
>If that someone is Chinese, (I think) they are considered to be already
>one year old since counting of birthdays considers the starting point to
>be the time of conception. (More or less.)
>
>The question is further complicated by the fact that you didn't specify
>the timezone the person was born in. Ignoring leap days, if someone is
>born on 2002-02-02 in time zone -1200
>and someone else is born on 2002-02-02 in time zone +1200, were they
>born on the same day or not?
>
>They could be more than 24 hours apart depending on the exact time of
>day...
• In a message dated Mon, 31 Jan 2005 13:33:25 EST hjw writes Many reports require the month-end date. It is easy to do, just advance to the first day of the
Message 1 of 22 , Feb 5, 2005
View Source
In a message dated Mon, 31 Jan 2005 13:33:25 EST  hjw writes
Many reports require the month-end date.  It is easy to do, just advance to the first day of the next month and subtract one day.
Agree. Recently I found the following solution for this.

Days referred to the begin of month are numbered from 01 to 49. The days 01 to 28  have the usual meaning and must not be normalized,
others can be normalized easily, because they are continuously counted into the next month.

Days referred to the end of month are numbered from 50 to 99. The day 99 designates always the last day of month, 98 the day before, and so on.
In a specific month this can be normalized easily as you mentioned.

Actually I used this method to address yearly events like "last Friday in February". A calendar time like 2005-02-93T01:00+02:00 can be converted easily to zulu-time (2005-02-92T23:00Z) within this system.

In a message dated  Tue, 01 Feb 2005 16:31:28 +0000  Pete Forman writes
If someone was born on 2004-02-29 when is their first birthday?  You
might say 2005-03-01 or 2005-02-28.  Does that mean that they have the
same birthday as someone born on 2004-03-01 or 2004-02-28?
Alternatively the yearly birthday could be defined as the last day of February -- or the 60th day of the year. This way the birthdays over some years will be different.

There is a general expectation of addition that subtraction of the
addend from the sum gives the original.
Agree. And the expectation is met if any quantity of calendar minutes is added on a calendar time like 2005-01-02T20:00. If SI-minutes (i.e. a multiple quantity of 60 SI-seconds) are added, information about leap seconds is needed to determine the final calendar time.

In a message dated  Tue, 1 Feb 2005 09:02:37 -0800 (PST)   John Steele writes
But certain combinations using duration DO result in invalid start or end times. Do we just not speak of them (you aren't allowed to use "duration" in those cases) or do we have normalization rules? I think normalization rules make more sense, but some cases, either of two values may seem "reasonable." They can either be agreed by the partners or standardized within the scope of the standard. I think it would be better to have proposed normalization rules in the standard "unless otherwise agreed by the partners."
As far as I understand (now), ISO only provides SI-units for the definition of a duration (1M=60S,1H=60M,1D=24H). And if there is no information about leap seconds the notation <start>/<duration> cannot be safely converted to <start>/<end>.

In a message dated  Tue, 01 Feb 2005 19:27:43 -0500   NGUYEN Adam writes
I wonder what would happen should I set the alarm to go off on every 31st day, or a
similar day number within a month. Perhaps it will sound only seven times a
year (on the months with 31 days)? If not, I would guess the next logical
thing it should do would be to sound on the last day of every month.

Any opinions?
An option would be nice to switch the reference from begin of month to end of month.
PS: I wonder why ISO 8601 doesn't allow for time zone offsets beyond
minute-resolution (eg. YYYY-MM-DDTHH:mm:ss±hh:mm:ss.sss…) (like that
historical Netherlands offset having centisecond-resolution).
IMHO this rule is very reasonable referring leap seconds, which would otherwise cause much more headache.

In a message dated  Wed, 02 Feb 2005 13:34:24 -0000  piebaldconsult writes
But the presence of leap seconds means that not even days, hours, and
minutes are fixed time units, so the portion of the standard you
quoted is in error.
Probably you mean calendar days, calendar hours and calendar minutes, but it was about
SI-days, SI-hours and SI-minutes which have fixed conversion factors to SI-second (24,60,60).

In a message dated   Wed, 2 Feb 2005 17:05:38 +0100  Harry Shipley writes
The birthday is one year later; which year length (tropical, leap, Gregorian
ordinary or sidereal to name but a few) you choose from is up to you
depending on what you wish to celebrate.  The problem is compounded by the
fact that no-one knows how long a year is, particularly because it is a
varying quantity.  Part of the confusion here is that leap years are being
added to some dates and ordinary years to others; little wonder that
different start dates end up on the same anniversary date!

I can't see the problem with arithmetic.  A date/time, plus a time interval
which is unambiguously related back to SI seconds leads to a second
date/time (assuming we know what leap seconds are to be added, but anyone in
possession of a date/time can modify it appropriately).  We know how to
write that date time.  Just as if we add 17 and 25 we get 42, we don't get
"three" in the tens column and "twelve" in the units.  Everyone understands
how to carry from one column to the next; so we carry days to months or
hours to days, etc.

I think is on topic to emphasise that the second is the SI time unit.  Every
other unit used must be related to the second, and not used on its own.  A
month is not a fixed time interval, but the varying time between changes of
month identifier, which are better identified by that change and not the
specification of a time interval.

Agree with one additional remark: Besides the SI time units as defined by ISO 8601, the calendrical time intervals are useful for some applications.
E.g. 2005-02 + 14 calendar months means 2006-04.

In a message dated   Fri, 04 Feb 2005 04:51:35 -0000  John Hynes writes
Of course, few now count days this way, and even the Church has
recently started following an ordinal count.  And you can celebrate
your birthday any day you wish; my brother celebrates his in June,
since he was born on Christmas Eve, and that's a sucky time to
celebrate a birthday.
Good idea.

In a message dated   Wed, 02 Feb 2005 15:08:27 -0800   Tex Texin writes
The question is further complicated by the fact that you didn't specify
the timezone the person was born in. Ignoring leap days, if someone is
born on 2002-02-02 in time zone -1200
and someone else is born on 2002-02-02 in time zone +1200, were they
born on the same day or not?
How about leap hours (aka transitition times from DST to Standard)?
Babies might be mistaken if they are born in the same location at the same local time.

In a message dated  Fri, 04 Feb 2005 21:30:57 -0500  NGUYEN Adam writes
There's a +1300 (+1200 in DST) too. ;-) That timezone problem
could be solved by converting both times to UTC.
UTC/GMT +14:00 (Christmas Islands).  from  http://www.worldtimezone.com/utc/utc+1200.html
Not sure if there is any DST.
About Chinese (?; I thought Korean was like this), the question of
how old someone is can be ambiguous in that respect, if you take that into
consideration. Would asking someone's date of birth be as ambiguous?
Wouldn't it be more safe to ask for the year of birth, or even month, day, etc., than to ask how old is someone?

Probably another aspect yet not covered in this thread:
A time interval like 2005/2006 may have a particular meaning, e.g. 12 calendar months, but considered as a representation with reduced precision the duration is uncertain and might be anything between 0 and 24 calendar months.

-- Klaus

• Adam, converting to UTC wouldn t solve the problem since most people would not accept that the day they are born is defined in UTC. Would you move midnite
Message 1 of 22 , Feb 5, 2005
View Source
Adam, converting to UTC wouldn't solve the problem since most people
would not accept that the day they are born is defined in UTC.

Would you move midnite mass, valentine's day and other events to UTC?

If you move groundhog's day to UTC some groundhogs will be looking out
of their holes in the evening and wont see their shadows.

What I think you are suggesting is that we just eliminate time zones.
Works fine for me, but most people object to not having traditional
times of day for daily events.

I was being tongue in cheek with both remarks.

That said, as for birthdays, perhaps not, but it would seem if your age
is ambiguous than your birthdate must be....

;-)

>
> There's a +1300 (+1200 in DST) too. ;-) That timezone problem
> could be solved by converting both times to UTC.
>
> About Chinese (?; I thought Korean was like this), the question of
> how old someone is can be ambiguous in that respect, if you take that into
> consideration. Would asking someone's date of birth be as ambiguous?
>
> At 2005-02-02 15:08 (UTC-0800), you wrote:
> >If that someone is Chinese, (I think) they are considered to be already
> >one year old since counting of birthdays considers the starting point to
> >be the time of conception. (More or less.)
> >
> >The question is further complicated by the fact that you didn't specify
> >the timezone the person was born in. Ignoring leap days, if someone is
> >born on 2002-02-02 in time zone -1200
> >and someone else is born on 2002-02-02 in time zone +1200, were they
> >born on the same day or not?
> >
> >They could be more than 24 hours apart depending on the exact time of
> >day...
>
>
> Yahoo! Groups Links
>
>
>
>

--
-------------------------------------------------------------
Tex Texin cell: +1 781 789 1898 mailto:Tex@...
Xen Master http://www.i18nGuy.com

XenCraft http://www.XenCraft.com
Making e-Business Work Around the World
-------------------------------------------------------------
Your message has been successfully submitted and would be delivered to recipients shortly.
• Changes have not been saved
Press OK to abandon changes or Cancel to continue editing
• Your browser is not supported
Kindly note that Groups does not support 7.0 or earlier versions of Internet Explorer. We recommend upgrading to the latest Internet Explorer, Google Chrome, or Firefox. If you are using IE 9 or later, make sure you turn off Compatibility View.