Hi Paul,

The blog entry specifically referred to the original java.util.Date API.

JSR 310[1] (java.time) from its inception made the design choice to simplify the API and rely on
operating systems to provide a stable and smooth time without leapseconds.

The definition of the time scales used in java.time are specified in java.time.Instant [2].

Roger

[1] https://jcp.org/en/jsr/detail?id=310

[2] http://download.java.net/java/jdk9/docs/api/java/time/Instant.html


On 6/9/2016 10:31 AM, Paul Benedict wrote:
Roger, what should I make of this announcement then? [1] A quote from it:

"Although the Java API defines a second as a number between 0 and 61 to accommodate leap seconds, some applications may have taken short-cuts to assume that there are 60 seconds in a minute or 86400 seconds in a day. Systems that perform synchronized time-based transactions with other systems may run into issues if one system updates and another does not. The 2015 leap second takes place at exactly 23:59:60 UTC on June 30, 2015."

I am concerned that your change may break a long standing assumption. I am not totally convinced yet leap seconds are not supported -- or at least they have been implicitly supported. The latter has been my understanding and a communication like above makes me think it's more than an implicit support. Please advise. Thank you.

[1] https://blogs.oracle.com/java-platform-group/entry/the_2015_leap_second_s

Cheers,
Paul

On Thu, Jun 9, 2016 at 8:40 AM, Roger Riggs <roger.ri...@oracle.com <mailto:roger.ri...@oracle.com>> wrote:

    Hi Paul,

    Right, java.time cannot represent time with that precision.

    Roger


    On 6/8/2016 6:37 PM, Paul Benedict wrote:

    So does that mean you can't use Java to represent a snapshot
    (instant) in the past where a leap second existed?

    On Jun 8, 2016 4:17 PM, "Roger Riggs" <roger.ri...@oracle.com
    <mailto:roger.ri...@oracle.com>> wrote:

        Hi Paul,

        Java.time defines a day as exactly 86400 seconds; seconds are
        slightly elastic as defined
        by the clock source (usually the OS and the time servers).
        Having the time servers smoothly adjust
        the time around leap seconds has been a successful technique
        for robust application behavior
        across the OS and application time bases at the expense of
        some slight inaccuracy, some of which
        is unavoidable anyway without high precision sources.

        Roger



        On 6/8/2016 5:12 PM, Paul Benedict wrote:
        I might be wrong on this issue, but I think 24 could be
        valid -- but when (if ever) is the question. Google was the
        news for their 61 second minute [1] in their "leap minute"
        adventure. I am not sure how time corrections are always
        implemented, but if you can have a leap minute, couldn't you
        also have a leap hour? For example, wouldn't 24:00:00 be the
        equivalent of 23:59:60 under a different counting scheme?

        [1]
        
http://www.businessinsider.com/google-compute-engine-leap-smear-deals-with-61-second-minutes-2015-6?r=UK&IR=T

        Cheers,
        Paul

        On Wed, Jun 8, 2016 at 4:06 PM, Roger Riggs
        <roger.ri...@oracle.com <mailto:roger.ri...@oracle.com>> wrote:

            HI Nadeesh,

            Looking better

            DateTimeFormatterBuilder:

             - line 3678: If array[1] == 24, offsetSeconds will be
            greater that seconds in a day;  that's not right.
               I don't think hour=24 is valid.  (and there would be
            test case(s) for it.)

            There should be test cases for offsets over the limit of
            hours, minutes, and seconds: 24:60:60

            Thanks, Roger



            On 6/8/2016 2:59 AM, nadeesh tv wrote:

                Hi,

                Please see the updated webrev
                http://cr.openjdk.java.net/~ntv/8066806/webrev.06/
                <http://cr.openjdk.java.net/%7Entv/8066806/webrev.06/>

                I reused code provided by Stephen and handled the
                edge cases accordingly

                Thanks and Regards,
                Nadeesh

                On 5/31/2016 7:15 PM, Stephen Colebourne wrote:

                    Where the new patterns are described in Javadoc,
                    there is no
                    discussion of the difference between "H" and "HH".

                    Add after </ul>

                    "Patterns containing "HH" will format and parse
                    a two digit hour,
                    zero-padded if necessary. Patterns containing
                    "H" will format with no
                    zero-padding, and parse either one or two digits."

                    "with colo" should be "with colon"

                    As for the main code, I've had a go at a rewrite:
                    
https://gist.github.com/jodastephen/68857dd344e33bd6c0b3b4d24279d2e4

                    It is completely untested, and surely has
                    mistakes, however as a
                    design it seems reasonable.

                    I agree that the tests need to cover these cases:

                    - offset at end of line
                    - offset followed by letters
                    - offset followed by numbers

                    Stephen


                    On 26 May 2016 at 08:49, nadeesh tv
                    <nadeesh...@oracle.com
                    <mailto:nadeesh...@oracle.com>> wrote:

                        Hi all,

                        Please review

                        BugId :
                        https://bugs.openjdk.java.net/browse/JDK-8066806

                        Issue: java.time.format.DateTimeFormatter
                        cannot parse an offset with single
                        digit hour

                        webrev:
                        http://cr.openjdk.java.net/~ntv/8066806/webrev.03/
                        <http://cr.openjdk.java.net/%7Entv/8066806/webrev.03/>

                        Solution: Added the suggested patterns but
                        the parsing logic became too
                        complex.
Appreciate any suggestion to make the parsing less complicated

-- Thanks and Regards,
                        Nadeesh TV








Reply via email to