2012-01-06 14 views
27

Leap Second on the horizon for June this year ile .Net çerçevesinin ikinci saniyenin farkında olup olmadığını merak ettim mi?.Net'in DateTime yöntemleri bir Sıçrama Sırasını tanıyabilir mi?

2012 June 30,  23h 59m 59s 
2012 June 30,  23h 59m 60s 
2012 July 1,  0h 0m 0s 

.Net framework bu işleme kapasitesine sahip midir: İlave ikinci 30 Haziran son saniye sonra eklenecek böylece UTC resmen olacak mı? Windows is not Leap Second aware ise bile fark eder mi? Bu, 'un Leap Second değerinin farkında olduğu O/S üzerinde çalışan mono uygulamaları etkileyecek mi?

DÜZENLEME:

i (Leap İkinci farkındadır) Linux üzerinde bir Java tabanlı bir çözümdür şey geçen bir .Net Web Service çağıran bir senaryo öngören ediyorum bu konuda biraz genişletmek için Java'da geçerli bir zaman damgası, ancak .Net için sınırlar dışında. Bunun için herhangi bir çerçeve var mı (belki Noda Time gibi)?

+3

hamle hangisi http://stackoverflow.com/questions/781370/are-leapseconds-taken-in-account-in-dotnet-or-c – afrischke

cevap

19

Hayır -

Tek kene yüz nanosaniye veya saniyenin bir ila on milyonda temsil eder. Milisaniye cinsinden 10.000 adet kene var.

Bu özelliğin değeri, DateTime.MinValue değerini temsil eden 1 Ocak 00.00 gecesi 12: 00'dan sonra geçen 100 nanosaniyelik aralıkların sayısını gösterir. Atlama saniyeleriyle ilişkilendirilebilen kenelerin sayısını içermez.

Kaynak: http://msdn.microsoft.com/en-us/library/system.datetime.ticks.aspx

+4

gör "sistem saati * sonraki * NTP güncellemesinde yeniden ayarlandığında ne olur?" –

+2

@Hans Passant: İlginç bir soru. 31 Aralık 2008'de geçen zamanlara ne oldu? –

8

.Net DateTime Leap Saniyede ilgili bir uygulaması yoktur, ancak sadece GS süresi üzerinde de durulacaktır. Windows, Leap Seconds (1)(2)'dan habersizdir ve bu nedenle NTP ana öğesinden aldığı süreyi (yalnızca etki alanı bağlı olmayan bir makinenin varsayılan değerinin time.windows.com olduğuna inanıyorum) büyük olasılıkla hizmet vermeye devam edecektir. Sıçrama saniye dahil olmak üzere UTC.

Ayrıca daha ayrıntılı bilgi içeren "Calculating Future Epoch Time in C#" cevabına da bakınız.

  1. http://support.microsoft.com/kb/909614
  2. http://www.meinberg.de/english/info/leap-second.htm