Получить смещение UTC в WP7 - PullRequest
1 голос
/ 31 мая 2011

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

Спасибо

Ответы [ 4 ]

0 голосов
/ 20 апреля 2012

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

0 голосов
/ 01 июня 2011

Я недавно сделал что-то вроде ниже;это было сделано быстро, но это работает.В моем случае я всегда хотел, чтобы время было в восточном часовом поясе, поскольку именно там проходило мероприятие, в котором было мое приложение.Сохраняется как 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); }
    }
0 голосов
/ 19 апреля 2012
  private int TimeZoneOffset()
  {
      DateTime dt = DateTime.Now;
      return dt.Subtract(dt.ToUniversalTime()).Hours;
  }
0 голосов
/ 31 мая 2011

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

...