CalDavSynchronizer.DDayICalWorkaround.IDateTimeExtension.AsUtc C# (CSharp) Метод

AsUtc() публичный статический Метод

public static AsUtc ( this dateTime ) : System.DateTime
dateTime this
Результат System.DateTime
    public static DateTime AsUtc (this IDateTime dateTime)
    {
      if (dateTime.IsUniversalTime)
        return DateTime.SpecifyKind (dateTime.Value, DateTimeKind.Utc);
      if (!string.IsNullOrEmpty (dateTime.TZID))
      {
        var zone = DateTimeZoneProviders.Tzdb.GetZoneOrNull (dateTime.TZID) ?? DateTimeZoneProviders.Tzdb.GetZoneOrNull (TimeZoneMapper.WindowsToIana (dateTime.TZID));
        if (zone != null)
        {
          var localDateTime = LocalDateTime.FromDateTime (dateTime.Value);
          var zonedDateTime = zone.AtLeniently (localDateTime);
          var utcDateTime = zonedDateTime.ToDateTimeUtc();
          return utcDateTime;
        }

      }
      // fallback
      return DateTime.SpecifyKind (dateTime.Value, DateTimeKind.Local).ToUniversalTime();
    }
  }
IDateTimeExtension