Получить смещение UTC в WP7

#windows-phone-7 #timezone #utc

#windows-phone-7 #Часовой пояс #utc

Вопрос:

Кто-нибудь знает лучший способ получить смещение UTC в WP7? По-видимому, API часовых поясов там не был реализован.

Спасибо

Комментарии:

1. Используйте структуру DateTimeOffset , вот для чего она предназначена!

Ответ №1:

Просто используйте DateTimeOffset.Now.Offset … вот почему был создан DateTimeOffset!

Ответ №2:

Если вы просто хотите перевести на местное время, используйте DateTime.ToLocalTime() . Если вам нужно смещение, я думаю, вы можете вычесть исходное значение. Документация.

Ответ №3:

Недавно я сделал что-то вроде приведенного ниже; это было сделано быстро, но это работает. В моем случае я всегда хотел время по восточному часовому поясу, поскольку именно для этого события предназначалось мое приложение. Сохраняется как UTC и вычисляется смещение.

     private DateTime _startTimeUtc;
    private DateTime _startTime;

    public DateTime StartTime
    {
        get { return _startTime; }
        set
        {
            _startTimeUtc = value.ToUniversalTime();
            _startTime = _startTimeUtc.Subtract(EasternTimeUtcOffSet);
        }
    }

    public DateTime StartTimeUtc 
    {
        get { return _startTimeUtc; }

        set
        {
            _startTimeUtc = value;
            _startTime = _startTimeUtc.Subtract(EasternTimeUtcOffSet);
        }
    }

    private static TimeSpan EasternTimeUtcOffSet
    {
        get { return TimeSpan.FromHours(4); }
    }
  

Ответ №4:

   private int TimeZoneOffset()
  {
      DateTime dt = DateTime.Now;
      return dt.Subtract(dt.ToUniversalTime()).Hours;
  }