在WP7中获取UTC偏移量

时间:2011-05-31 01:11:05

标签: windows-phone-7 timezone utc

有谁知道在WP7中获得UTC偏移的最佳方法?显然TimeZone api还没有在那里实现。

由于

4 个答案:

答案 0 :(得分:0)

如果您只想转换为当地时间,请使用DateTime.ToLocalTime()。如果你想要偏移量,我想你可以减去原始值。 Documentation

答案 1 :(得分:0)

我最近做了类似下面的事情;这很快完成,但它的工作原理。在我的情况下,我总是希望时间在东部时区,因为这是我的应用程序所针对的事件。存储为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); }
    }

答案 2 :(得分:0)

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

答案 3 :(得分:0)

只需使用DateTimeOffset.Now.Offset ...这就是创建DateTimeOffset的原因!