是否有从.9到1.0和1.1的重大更改列表?
Version History从1.0版开始
例如..。原始代码(在.9上),现在哭(在1.1上)。
public static DateTime AdjustTo(this DateTime date, string timeZoneId)
{
if (date == DateTime.MinValue)
return date;
DateTimeZone.SetProvider(new BclTimeZoneProvider());
var zone = DateTimeZone.ForId(timeZoneId ?? "UTC");
var dateTime = new ZonedDateTime(Instant.FromDateTimeUtc(date.ToUniversalTime()), zone);
return dateTime.ToDateTimeUnspecified();
}上面的代码有两个突破性的变化...DateTimeZone没有SetProvider或ForId方法。
此外,如果我做错了,我也会接受反馈。
谢谢。
发布于 2013-05-04 17:01:53
回答你的第一个问题:没有,我们只有1.0.0-beta1以后的版本历史。尽管事实证明,我们在1.0.0-beta2中删除了静态时区提供程序的概念,因此涵盖了它,尽管很简短:
对如何从ID:
IDateTimeZoneProvider (时区的SPI)获取代码进行了彻底的修改,将其重命名为IDateTimeZoneSource,并对针对调用者的内置源IDateTimeZoneProvider进行了类似的重命名,并缓存假定的DateTimeZoneProviders,它具有访问内置提供程序的静态属性: TZDB,implementationDateTimeZoneCache和default (目前支持总是通过IDateTimeZoneProvider执行DateTimeZone的各种IDateTimeZoneProvider静态方法,现在是公共的并实现了BCL
与1.0版本的代码等效的代码是:
public static DateTime AdjustTo(this DateTime date, string timeZoneId)
{
if (date == DateTime.MinValue)
return date;
var zone = DateTimeZoneProviders.Bcl[timeZoneId ?? "UTC"];
var dateTime = new ZonedDateTime(Instant.FromDateTimeUtc(date.ToUniversalTime()), zone);
return dateTime.ToDateTimeUnspecified();
}https://stackoverflow.com/questions/16369082
复制相似问题