问题描述
|
有谁知道在WP7中获取UTC偏移的最佳方法?显然,TimeZone API尚未在此处实现。
谢谢
解决方法
只需使用
DateTimeOffset.Now.Offset
...这就是创建DateTimeOffset的原因!
, 如果只想转换为当地时间,请使用DateTime.ToLocalTime()
。如果您想要偏移量,我认为您可以减去原始值。文档。
, 我最近做了类似下面的事情;这项工作很快完成,但是行得通。就我而言,我一直希望将时间设为东部时区,因为那是我的应用程序所在的时间。存储为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); }
}
, private int TimeZoneOffset()
{
DateTime dt = DateTime.Now;
return dt.Subtract(dt.ToUniversalTime()).Hours;
}