SORU
29 EKİM 2008, ÇARŞAMBA


C belirli bir Zaman Dilimi içinde bir DateTime oluşturma# fx 3.5

Yanlış ayarlanmış ve daha sonra düzeltilmiş oldu çünkü zaman dilimini bir makine değiştiği için durum test etmek için bir birim test oluşturmak için çalışıyorum.

Testte hiçbiri yerel saat dilimi DateTime nesneleri oluşturmak mümkün insanlar testi başarıyla bulundukları ne olursa olsun bunu yapabilirsiniz emin olmak istiyorum.

DateTime oluşturucu gördüğüm kadarıyla saat Dilimi yerel zaman dilimi, UTC saat veya belirtilmemiş olması için ayarlanmış olabilir.

Nasıl PST gibi belirli bir zaman dilimi ile bir DateTime oluşturabilirim?

CEVAP
29 EKİM 2008, ÇARŞAMBA


Jon's answer TimeZone ama öneririm yerine TimeZoneInfo kullanarak konuşuyor.

Şahsen böyle bir yapı öneririm mümkünse UTC şeyler tutmak gibi

public struct DateTimeWithZone
{
    private readonly DateTime utcDateTime;
    private readonly TimeZoneInfo timeZone;

    public DateTimeWithZone(DateTime dateTime, TimeZoneInfo timeZone)
    {
        utcDateTime = TimeZoneInfo.ConvertTimeToUtc(dateTime, timeZone); 
        this.timeZone = timeZone;
    }

    public DateTime UniversalTime { get { return utcDateTime; } }

    public TimeZoneInfo TimeZone { get { return timeZone; } }

    public DateTime LocalTime
    { 
        get 
        { 
            return TimeZoneInfo.ConvertTime(utcDateTime, timeZone); 
        }
    }        
}

"""Timezoneınfo" şeyleri daha net yapmak için tercih ediyorum kendimi özlü isimler. isimler zaman dilimini değiştirmek isteyebilirsiniz

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Eric Anthony

    Eric Anthony

    13 AĞUSTOS 2011
  • TheGamer2323

    TheGamer2323

    25 Ocak 2009
  • Top10Series

    Top10Series

    26 Kasım 2008