SORU
16 NİSAN 2013, Salı


DateTime.Milisaniye hassasiyetle şimdi

Tam olarak nasıl milisaniye hassasiyetle gerçek zaman zaman damgası inşa miyim?

16.4.2013 9:48:00:123 böyle bir şeye ihtiyacım var. Bu mümkün mü? Ben örnek saniyede 10 kez değerler ve bunları bir grafikte göstermek istediğim bir uygulama var.

CEVAP
16 NİSAN 2013, Salı


tam olarak nasıl milisaniye hassasiyetle gerçek zaman damgası inşa miyim?

Milisaniyelik demek istedin sanırımdoğruluk. DateTime hassas bir yeri vardır, ama doğruluk açısından oldukça kabadır. Genel olarak konuşursak, yapamazsın. Genellikle sistem saati DateTime.Now gelen verileri alır nerede) 10-15ms civarında bir çözünürlüğe sahip. Bakın Eric Lippert blog post about precision and accuracy Daha fazla bilgi için.

Eğer bu daha doğru bir zamanlama ihtiyacınız varsa, bir NTP istemcisi kullanarak içine bakmak isteyebilirsiniz.

Ancak, burada milisaniye doğruluk gerektiği açık değil. Bu senin umurunda değilkesinzamanlama sadece doğru sırayla örnekler göstermek istiyorum, "çok iyi" doğruluk, daha sonra sistem saatini iyi olmalı. DateTime.UtcNow yerine DateTime.Now olsa da, gün ışığı etrafında saat dilimi sorunları geçişler vb kaydedilmesini önlemek için kullanmanızı öneriyorum.

Eğer sorunuz varsaaslındasadece DateTime milisaniye ile bir dize için bir duyarlılığa dönüştürme etrafında kullanarak öneririm:

string timestamp = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff",
                                            CultureInfo.InvariantCulture);

(Örnek aksine, bu sıralanabilir ve anlamı olsun, etrafında karışıklık neden daha az olası olduğunu unutmayın "" veya "".) gün/ay/yıl ay/gün/yıl

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Morrison

    Jonathan Mor

    24 Mart 2010
  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010