public string DateDiff(sys.DateTime date1, sys.DateTime date2, string format = "TotalDays")
        {
            sys.TimeSpan diff = date2.Subtract(date1);
            string       form = diff.GetType().GetProperty(format).GetValue(diff, null).ToString();

            return(form);
        }
        public string DateDiff(string date1, string date2, string format = "TotalDays")
        {
            sys.DateTime d1   = sys.DateTime.Parse(date1);
            sys.DateTime d2   = sys.DateTime.Parse(date2);
            sys.TimeSpan diff = d2.Subtract(d1);

            return(diff.GetType().GetProperty(format).GetValue(diff, null).ToString());
        }
Beispiel #3
0
        public void ReadFromSeveralPropertiesAndFields()
        {
            var ts = new TimeSpan(2, 4, 3, 8, 9);
            var flags = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public;
            var elements = ts.GetType()
                .GetProperties(flags)
                .Select(pi => new PropertyInfoElement(pi))
                .Cast<IReflectionElement>()
                .Concat(ts.GetType()
                    .GetFields(flags)
                    .Select(fi => new FieldInfoElement(fi))
                    .Cast<IReflectionElement>())
                .ToArray();
            var visitor = new ValueCollectingVisitor(ts);

            var actual =
                new CompositeReflectionElement(elements).Accept(visitor);

            var actualValues = actual.Value.Cast<object>().ToArray();
            Assert.Equal(elements.Length, actualValues.Length);
            Assert.Equal(1, actualValues.Count(ts.Days.Equals));
            Assert.Equal(1, actualValues.Count(ts.Hours.Equals));
            Assert.Equal(1, actualValues.Count(ts.Milliseconds.Equals));
            Assert.Equal(1, actualValues.Count(ts.Minutes.Equals));
            Assert.Equal(1, actualValues.Count(ts.Seconds.Equals));
            Assert.Equal(1, actualValues.Count(ts.Ticks.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalDays.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalHours.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalMilliseconds.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalMinutes.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalSeconds.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.MaxValue.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.MinValue.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerDay.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerHour.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerMillisecond.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerMinute.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerSecond.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.Zero.Equals));
        }
Beispiel #4
0
 private void SetReminderTime(TimeSpan newTime)
 {
     this.reminderTime.ValidatingType = newTime.GetType();
     this.reminderTime.Text = Format.MaskedText(newTime);
 }
Beispiel #5
0
        public void ReadFromSeveralPropertiesAndFields()
        {
            var ts = new TimeSpan(2, 4, 3, 8, 9);
            var elements = ts.GetType().GetPublicPropertiesAndFields().ToArray();

            var actual = elements.Accept(new ValueCollectingVisitor(ts));

            var actualValues = actual.Value.ToArray();
            Assert.Equal(elements.Length, actualValues.Length);
            Assert.Equal(1, actualValues.Count(ts.Days.Equals));
            Assert.Equal(1, actualValues.Count(ts.Hours.Equals));
            Assert.Equal(1, actualValues.Count(ts.Milliseconds.Equals));
            Assert.Equal(1, actualValues.Count(ts.Minutes.Equals));
            Assert.Equal(1, actualValues.Count(ts.Seconds.Equals));
            Assert.Equal(1, actualValues.Count(ts.Ticks.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalDays.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalHours.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalMilliseconds.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalMinutes.Equals));
            Assert.Equal(1, actualValues.Count(ts.TotalSeconds.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.MaxValue.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.MinValue.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerDay.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerHour.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerMillisecond.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerMinute.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.TicksPerSecond.Equals));
            Assert.Equal(1, actualValues.Count(TimeSpan.Zero.Equals));
        }
 private void Write186_TimeSpan(string n, string ns, TimeSpan o, bool needType)
 {
     if (!needType && (o.GetType() != typeof(TimeSpan)))
     {
         throw base.CreateUnknownTypeException(o);
     }
     base.WriteStartElement(n, ns, o, false, null);
     if (needType)
     {
         base.WriteXsiType("TimeSpan", "");
     }
     base.WriteEndElement(o);
 }