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

  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • Miles Fisher

    Miles Fisher

    8 NİSAN 2009
  • RocketJump

    RocketJump

    22 ŞUBAT 2006