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

  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • Jucyber Tutoriais

    Jucyber Tuto

    8 EYLÜL 2009
  • waterfairy17

    waterfairy17

    9 Aralık 2007