Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Microsoft Windows IT

Windows 10 and Windows Server 2019 To Support True UTC-Compliant Leap Second (thurrott.com) 67

Mehedi Hassan, writing for Thurrott: Microsoft is bringing support for leap seconds -- yes, that one extra second -- to Windows, starting with Windows 10 Redstone 5 and Windows Server 2019. With the upcoming updates for Windows 10, Microsoft's operating system now deals with leap seconds in a way that is incredibly accurate, UTC-compliant, and traceable. Leap seconds typically occur every 18 months, resulting in one extra second. The extra leap second occurs to adjust with the earth's slowed down rotation, and an extra second is added to UTC in order to keep it in-sync with mean solar time. To deal with the extra second more appropriately, Windows 10 will now display that extra second, instead of directly jumping to the next one. H/T Perfycat who adds: The new move makes Windows Server the first OS to have full support of the rare but valid timestamp of: 23:59:60. Linus Torvalds has long maintained that users needs to chill out about leap seconds. Further reading: Microsoft's blog post 1, and blog post 2.
This discussion has been archived. No new comments can be posted.

Windows 10 and Windows Server 2019 To Support True UTC-Compliant Leap Second

Comments Filter:
  • by Anonymous Coward

    Now we will have applications throwing exceptions when dealing with this (until now) invalid time,

  • by Drakster ( 976032 ) on Wednesday July 18, 2018 @04:11PM (#56970310)

    Can this help with setting the BIOS as UTC time, much like all other operating systems? I know you could enable it in the past using the registry, however from what I remember, this caused further problems.

  • by marquis111 ( 94760 ) on Wednesday July 18, 2018 @04:36PM (#56970448)

    Puts me in mind of a very informative blog post I read years ago about popular programming falsehoods about time.

    https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time
    https://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time

    • by dissy ( 172727 )

      Another addition of fun facts on time for programmers, more specifically to time zones.
      (Now with more video! Batteries still not included)

      "The Problem with Time & Timezones" from Computerphile (~10 minutes)
      https://youtu.be/-5wpm-gesOY [youtu.be]

  • A job I used to have was adjusting the xtal osc for "exact" frequency to keep the real time clock accurate.
    Trouble is the chrystal drifts with temp and age. So how many off the shelf windoze servers have temp stabilised xtals ?
    NTP is the only way to stay synchronised with the world.

    • by guruevi ( 827432 )

      You could use GPS or atomic clocks for your computer. A bit more expensive than the crystal but if you need it...

    • by Anonymous Coward

      You're right--but what they're doing is improving NTP by allowing the NTP driver better information about when a packet arrived (stamping the packet in kernel mode) -- or true leap second support. They're also allowing NTP to tweak the system clock by 100 nanoseconds per second instead of the old (coarse) limit of 6.4 microseconds per second (6400 nanoseconds per second).

      Basically... they're allowing NTP to get the system clock more accurate than before and to help document that NTP is keeping your clock t

    • You do realize the clock is implemented in hardware and unrelated to whatever OS happens to be installed? But yeah. 'Boo Windoze'

    • Fun fact: crystals typically increase in frequency over time because the mechanical wear causes them to lose mass
  • by guruevi ( 827432 ) on Wednesday July 18, 2018 @05:43PM (#56970800)

    Leap second support has been in Linux and other Unix systems forever. The problem is the many standards on how to implement leap seconds. They are generally a representational problem, not a counting problem. It’s similar to time zones, they are arbitrarily defined and thus not very useful for true mathematical implementation. Microsoft has picked one of the dozen or so standards on how to represent leap seconds. The fact is that you should pick whatever method is suitable and useful for interoperation with the rest of stuff you have.

    • Leap second support has been in Linux and other Unix systems forever.

      This isn't an article about who coped with leap seconds first. Windows has done this for a long time too. This is an article saying that Windows is the first system to give a UTC complaint solution to the problem. Linux / Unix don't currently ever return 23:59:60 as a valid time for any normal time related system call.

      • by guruevi ( 827432 )

        System calls should not return a representation of time, they should return a valid time stamp that can then be interpreted by the UI layer according to user settings.

        • Which comes back to my point: Unix's seconds since epoch does not account for leapseconds and thus isn't UTC compliant.

          Though I disagree somewhat. Leaving it up to the UI layer results in different representations of time to the user for different applications. I get it time is hard to deal with but it should be hard for programmers, not hard for users.

          • by tlhIngan ( 30335 )

            I get it time is hard to deal with but it should be hard for programmers, not hard for users.

            No, it shouldn't be hard for programmers either. After all, it's why we have things like libraries. All the complexity of date and time handling should be contained inside a well-known library so everyone knows to use those functions instead of trying to "wing it" with their own date and time "library".

            The date/time library is what should be handling all the tricky stuff.

            • After all, it's why we have things like libraries

              I know. Libraries are just delivered by magic unicorns. /sarcasm. My point was not application programmers, but rather programmers in general. Time is hard. Even when you think you can offload it to a library time is still hard. Even if we have a perfect time keeping library you still end up dealing with application requirements that will require time to be handled in a special way, e.g. a calendar or an app that communicates between different countries.

              Programmers need to remain vigilant even when they do

      • by gdm ( 97336 )

        > Unix don't currently ever return 23:59:60 as a valid time for any normal time related system call

        I'm not sure I'd agree with that. If you look at the contents of struct tm, as returned by various time-related calls, you'll see:

        int tm_sec; /* Seconds (0-60) */

        That's 60, and not 59, for a reason. If leap seconds are added at midnight in your time zone, then you could see the 60.

        g

  • by DickBreath ( 207180 ) on Wednesday July 18, 2018 @05:46PM (#56970814) Homepage
    The only feature I need in Windows Server 2019 is to be able to set my hostname to all emoji characters. Thank you.
  • by at10u8 ( 179705 ) on Wednesday July 18, 2018 @05:55PM (#56970880)
    The MS blog entry points at a Dev document about how it works, and that says this:
    Known issues: Some frameworks are known to calculate time incorrectly after a leap second occurs. For example, the .NET Framework uses its own internal logic to determine what time it is. Its logic does not account for leap seconds. So after a leap second is introduced to the Operating System the output of "System.DateTime.Now.ToString()" will be ahead by one second of the local system time. (We are working with the .NET framework team on this.)
    Combine that with the many many steps on how to configure Win10 makes this sound like a really interesting new feature.
    • Changing the OS to track leap seconds is one thing. I want to know how the time value returned by the various OS and application framework API's will change. Getting that right is important, but also much more difficult.
  • Microsoft today announced that existing licenses and support agreements will be extended at no additional cost.

    Government spokesmen welcomed this generous gesture and hailed the effectiveness of the President's negotiating skills with the Seattle company.

  • After thinking about this far too much, I've concluded that POSIX should go to some form of GMT that isn't UTC, either UT1 or UT2, whatever the difference is. It keeps the numeric timestamp meaningful: you can get the time and date most of us care about with basic arithmetic and no lookup tables. Future timestamps will work the same way. Unless you really need to know the current time in UTC, in which case you'll need a lookup table, which is simple enough as predictions are published that should be good

  • The article refers to a new time protocol known as Precision Time Protocol (aka PTP). This protocol has been around for a while -- v1 came out in 2002, v2 in 2008. It's implemented mostly in industrial control networks like EtherNet/IP.

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (5) All right, who's the wiseguy who stuck this trigraph stuff in here?

Working...