コード例 #1
0
ファイル: DateTime.cs プロジェクト: formist/LinkMe
        /// <summary>
        /// Adds nanoseconds to this instance of DateTime
        /// </summary>
        /// <param name="nanoseconds"></param>
        /// <returns></returns>
        public DateTime AddNanoseconds(double nanoseconds)
        {
            DateTime universal = ToUniversalTime();
            DateTime result    = universal.AddNanosecondsInternal(System.Math.Round(nanoseconds));

            return(result.ToTimeZone(TimeZone));
        }
コード例 #2
0
ファイル: DateTime.cs プロジェクト: formist/LinkMe
        /// <summary>
        /// Adds a timespan to this instance of DateTime
        /// </summary>
        /// <param name="timeSpan"></param>
        /// <returns></returns>
        public DateTime Add(TimeSpan timeSpan)
        {
            DateTime result = new DateTime(Universal.Add(timeSpan.ToSystemTimeSpan()), m_nanosecond,
                                           Type.TimeZone.UTC, true);

            result = result.AddMicrosecondsInternal(timeSpan.Microseconds);
            result = result.AddNanosecondsInternal(timeSpan.Nanoseconds);

            return(result.ToTimeZone(TimeZone));
        }
コード例 #3
0
ファイル: DateTime.cs プロジェクト: formist/LinkMe
        // All Add* methods that take a double as input split the value into its whole
        // and fractional parts. The whole part can be added using the corresponding
        // System.DateTime.Add* method, but the fractional part needs to be added using
        // our own method so that microseconds and nanoseconds are updated.

        /// <summary>
        /// Adds days to this instance of DateTime
        /// </summary>
        /// <param name="days"></param>
        /// <returns></returns>
        public DateTime AddDays(double days)
        {
            DateTime universal = ToUniversalTime();

            double whole      = System.Math.Floor(days);
            double fractional = days - whole;

            DateTime result = universal.AddNanosecondsInternal
                                  (fractional * DateTimeHelper.Days2Nanoseconds);

            result = new DateTime(result.m_base.AddDays(whole), result.m_nanosecond, Type.TimeZone.UTC, true);

            return(result.ToTimeZone(TimeZone));
        }
コード例 #4
0
ファイル: DateTime.cs プロジェクト: formist/LinkMe
        /// <summary>
        /// Adds microseconds to this instance of DateTime
        /// </summary>
        /// <param name="microseconds"></param>
        /// <returns></returns>
        public DateTime AddMicroseconds(double microseconds)
        {
            DateTime universal = ToUniversalTime();

            double whole      = System.Math.Floor(microseconds);
            double fractional = microseconds - whole;

            DateTime result = universal.AddNanosecondsInternal
                                  (fractional * DateTimeHelper.Microseconds2Nanoseconds);

            result = result.AddMicrosecondsInternal(whole);

            return(result.ToTimeZone(TimeZone));
        }