System.TimeZoneInfo.ConvertTimeToUtc C# (CSharp) Method

ConvertTimeToUtc() static private method

static private ConvertTimeToUtc ( System.DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfoOptions flags ) : System.DateTime
dateTime System.DateTime
sourceTimeZone TimeZoneInfo
flags TimeZoneInfoOptions
return System.DateTime
		static DateTime ConvertTimeToUtc (DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfoOptions flags)
		{
			if ((flags & TimeZoneInfoOptions.NoThrowOnInvalidTime) == 0) {
				if (sourceTimeZone == null)
					throw new ArgumentNullException ("sourceTimeZone");

				if (dateTime.Kind == DateTimeKind.Utc && sourceTimeZone != TimeZoneInfo.Utc)
					throw new ArgumentException ("Kind property of dateTime is Utc but the sourceTimeZone does not equal TimeZoneInfo.Utc");

				if (dateTime.Kind == DateTimeKind.Local && sourceTimeZone != TimeZoneInfo.Local)
					throw new ArgumentException ("Kind property of dateTime is Local but the sourceTimeZone does not equal TimeZoneInfo.Local");

				if (sourceTimeZone.IsInvalidTime (dateTime))
					throw new ArgumentException ("dateTime parameter is an invalid time");
			}

			if (dateTime.Kind == DateTimeKind.Utc)
				return dateTime;

			bool isDst;
			var utcOffset = sourceTimeZone.GetUtcOffset (dateTime, out isDst);

			DateTime utcDateTime;
			TryAddTicks (dateTime, -utcOffset.Ticks, out utcDateTime, DateTimeKind.Utc);
			return utcDateTime;
		}

Same methods

TimeZoneInfo::ConvertTimeToUtc ( System.DateTime dateTime ) : System.DateTime
TimeZoneInfo::ConvertTimeToUtc ( System.DateTime dateTime, TimeZoneInfo sourceTimeZone ) : System.DateTime
TimeZoneInfo::ConvertTimeToUtc ( System.DateTime dateTime, TimeZoneInfoOptions flags ) : System.DateTime

Usage Example

Esempio n. 1
0
        /// <summary>
        /// DateTime converter UTC
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static long ToInt64(this DateTime value)
        {
            DateTime startTime = TimeZoneInfo.ConvertTimeToUtc(new DateTime(1970, 1, 1), TimeZoneInfo.Utc);

            return((long)((value - startTime).TotalSeconds));
        }
All Usage Examples Of System.TimeZoneInfo::ConvertTimeToUtc