示例#1
0
        public void TestMethod5()
        {
            DateTime firstTime  = new DateTime(2010, 12, 31, 10, 0, 0);
            DateTime secondTime = new DateTime(2015, 1, 1, 10, 0, 0);

            TimeZoneInfo firstZone  = TimeZoneInfo.Utc;
            TimeZoneInfo secondZone = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time");

            firstTime  = TimeZoneInfo.ConvertTime(firstTime, firstZone);
            secondTime = TimeZoneInfo.ConvertTime(secondTime, secondZone);

            var differentiator = new SimpleDateDifferentiator();
            var timeDiffZone   = ((IDateDifferentiator)(new TimeZoneDiffDecorator(differentiator))).DateDiff(firstTime, secondTime);

            secondTime = new DateTime(2010, 12, 31, 10, 0, 0);
            firstTime  = new DateTime(2015, 1, 1, 10, 0, 0);

            firstTime  = TimeZoneInfo.ConvertTime(firstTime, secondZone);
            secondTime = TimeZoneInfo.ConvertTime(secondTime, firstZone);

            var expectedTimeDiff = ((IDateDifferentiator)(new TimeZoneDiffDecorator(differentiator))).DateDiff(firstTime, secondTime);

            Assert.AreEqual(timeDiffZone.FullYears, expectedTimeDiff.FullYears);
            Assert.AreEqual(timeDiffZone.FullMonths, expectedTimeDiff.FullMonths);
            Assert.AreEqual(timeDiffZone.FullDays, expectedTimeDiff.FullDays);
        }
示例#2
0
        static void Main(string[] args)
        {
            DateTime firstTime  = new DateTime(2010, 12, 31, 10, 0, 0);
            DateTime secondTime = new DateTime(2015, 1, 1, 10, 0, 0);

            var differentiator = new SimpleDateDifferentiator();
            var timeDiff       = differentiator.DateDiff(firstTime, secondTime);

            Console.WriteLine("Time diff is: {0} full years, {1} months, {2} days",
                              timeDiff.FullYears,
                              timeDiff.FullMonths,
                              timeDiff.FullDays
                              );

            TimeZoneInfo firstZone  = TimeZoneInfo.Utc;
            TimeZoneInfo secondZone = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time");

            firstTime  = TimeZoneInfo.ConvertTime(firstTime, firstZone);
            secondTime = TimeZoneInfo.ConvertTime(secondTime, secondZone);

            var timeDiffZone = ((IDateDifferentiator)(new TimeZoneDiffDecorator(differentiator))).DateDiff(firstTime, secondTime);

            Console.WriteLine("Time diff with timezone is: {0} full years, {1} months, {2} days",
                              timeDiffZone.FullYears,
                              timeDiffZone.FullMonths,
                              timeDiffZone.FullDays
                              );
        }
示例#3
0
        public void TestMethod3()
        {
            DateTime secondTime = new DateTime(2010, 12, 31, 10, 0, 0);
            DateTime firstTime  = new DateTime(2015, 1, 1, 10, 0, 0);

            var differentiator   = new SimpleDateDifferentiator();
            var timeDiff         = differentiator.DateDiff(firstTime, secondTime);
            var expectedTimeDiff = new DateDiffStorage(4, 0, 1);

            Assert.AreEqual(timeDiff.FullYears, expectedTimeDiff.FullYears);
            Assert.AreEqual(timeDiff.FullMonths, expectedTimeDiff.FullMonths);
            Assert.AreEqual(timeDiff.FullDays, expectedTimeDiff.FullDays);
        }