public virtual string ToExactNaturalText(DateDiff dateDiff)
 {
     string text = string.Empty;
     if (dateDiff.Years > 0)
     {
         text = this.AddSentence(text, this.GetYearsText(dateDiff.Years));
     }
     if (dateDiff.Months > 0)
     {
         text = this.AddSentence(text, this.GetMonthsText(dateDiff.Months));
     }
     if (dateDiff.Days > 0)
     {
         text = this.AddSentence(text, this.GetDaysText(dateDiff.Days));
     }
     if (dateDiff.Hours > 0)
     {
         text = this.AddSentence(text, this.GetHoursText(dateDiff.Hours));
     }
     if (dateDiff.Minutes > 0)
     {
         text = this.AddSentence(text, this.GetMinutesText(dateDiff.Minutes));
     }
     if (dateDiff.Seconds > 0)
     {
         text = this.AddSentence(text, this.GetSecondsText(dateDiff.Seconds));
     }
     return text;
 }
Exemplo n.º 2
0
        public string DateToMonthString(DateTime date)
        {
            DateDiff dateDiff = new DateDiff(date, DateTime.Now);
            int      _IntD    = dateDiff.ElapsedMonths;

            switch (_IntD)
            {
            case 0:
            {
                return(Properties.Resources.LessThanMonthString);
            }

            case 1:
            {
                return(Properties.Resources.MonthString);
            }

            case 2:
            {
                return(Properties.Resources.TowMonthesString);
            }
            }
            if ((_IntD >= 3) && (_IntD <= 10))
            {
                return(_IntD + " " + Properties.Resources.MonthesString);
            }
            else
            {
                return(_IntD + " " + Properties.Resources.MonthesAccusativeString);
            }
        }
Exemplo n.º 3
0
        public string DateToYearsString(DateTime date)
        {
            DateDiff dateDiff = new DateDiff(date, DateTime.Now);

            switch (dateDiff.ElapsedYears)
            {
            case 0:
            {
                return(Properties.Resources.LessThanYearString);
            }

            case 1:
            {
                return(Properties.Resources.YearString);
            }

            case 2:
            {
                return(Properties.Resources.TowYearsString);
            }
            }
            if ((dateDiff.ElapsedYears >= 3) && (dateDiff.ElapsedYears <= 10))
            {
                return(dateDiff.ElapsedYears + " " + Properties.Resources.YearsString);
            }
            else
            {
                return(dateDiff.ElapsedYears + " " + Properties.Resources.YearString);
            }
        }
Exemplo n.º 4
0
        public virtual string ToExactNaturalText(DateDiff dateDiff)
        {
            string text = string.Empty;

            if (dateDiff.Years > 0)
            {
                text = this.AddSentence(text, this.GetYearsText(dateDiff.Years));
            }
            if (dateDiff.Months > 0)
            {
                text = this.AddSentence(text, this.GetMonthsText(dateDiff.Months));
            }
            if (dateDiff.Days > 0)
            {
                text = this.AddSentence(text, this.GetDaysText(dateDiff.Days));
            }
            if (dateDiff.Hours > 0)
            {
                text = this.AddSentence(text, this.GetHoursText(dateDiff.Hours));
            }
            if (dateDiff.Minutes > 0)
            {
                text = this.AddSentence(text, this.GetMinutesText(dateDiff.Minutes));
            }
            if (dateDiff.Seconds > 0)
            {
                text = this.AddSentence(text, this.GetSecondsText(dateDiff.Seconds));
            }
            return(text);
        }
Exemplo n.º 5
0
        public string DateToString(DateTime date)
        {
            string   ret      = "";
            DateDiff dateDiff = new DateDiff(date, DateTime.Now);

            if (dateDiff.ElapsedYears > 0)
            {
                ret += DateToYearsString(date);
            }
            if (dateDiff.ElapsedMonths > 0)
            {
                if (ret.Length > 0)
                {
                    ret += " " + Properties.Resources.AndString + " ";
                }
                ret += DateToMonthString(date);
            }
            if (dateDiff.ElapsedDays > 0)
            {
                if (ret.Length > 0)
                {
                    ret += " " + Properties.Resources.AndString + " ";
                }
                ret += DateToDayString(date);
            }
            return(ret);
        }
Exemplo n.º 6
0
        public void DefaultsTest() {
            var now = ClockProxy.Clock.Now;
            var dateDiff = new DateDiff(now, now);

            dateDiff.YearBaseMonth.Should().Be(TimeSpec.CalendarYearStartMonth);
            dateDiff.FirstDayOfWeek.Should().Be(DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek);
        }
Exemplo n.º 7
0
        public void WeeksTest()
        {
            DateTime date1 = new DateTime(2008, 5, 14, 15, 32, 44, 243);
            DateTime date2 = date1.AddDays(TimeSpec.DaysPerWeek);
            DateTime date3 = date1.AddDays(-TimeSpec.DaysPerWeek);

            DateDiff dateDiff12 = new DateDiff(date1, date2);

            Assert.Equal(0, dateDiff12.Years);
            Assert.Equal(0, dateDiff12.Quarters);
            Assert.Equal(0, dateDiff12.Months);
            Assert.Equal(1, dateDiff12.Weeks);
            Assert.Equal(dateDiff12.Days, TimeSpec.DaysPerWeek);
            Assert.Equal(dateDiff12.Hours, TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay);
            Assert.Equal(dateDiff12.Minutes, TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour);
            Assert.Equal(dateDiff12.Seconds, TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour * TimeSpec.SecondsPerMinute);

            DateDiff dateDiff13 = new DateDiff(date1, date3);

            Assert.Equal(0, dateDiff13.Years);
            Assert.Equal(0, dateDiff13.Quarters);
            Assert.Equal(0, dateDiff13.Months);
            Assert.Equal <int>(dateDiff13.Weeks, -1);
            Assert.Equal <int>(dateDiff13.Days, TimeSpec.DaysPerWeek * -1);
            Assert.Equal <int>(dateDiff13.Hours, TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay * -1);
            Assert.Equal <int>(dateDiff13.Minutes, TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour * -1);
            Assert.Equal <int>(dateDiff13.Seconds, TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour * TimeSpec.SecondsPerMinute * -1);
        }         // WeeksTest
Exemplo n.º 8
0
        public virtual void TestParseWidth()
        {
            XmlNode node = CreateNode("<effectiveTime>" + "   <width value=\"1\" unit=\"d\"/>" + "</effectiveTime>");
            Interval <PlatformDate> interval = Parse(node, "IVL.WIDTH<TS>");

            Assert.IsTrue(this.result.IsValid(), "valid");
            Assert.IsNotNull(interval, "null");
            Assert.IsNull(interval.Low, "low");
            Assert.IsNull(interval.High, "high");
            Assert.IsNull(interval.Centre, "centre");
            Assert.IsNotNull(interval.Width, "width");
            DateDiff diff = (DateDiff)interval.Width;

            Ca.Infoway.Messagebuilder.Domainvalue.UnitsOfMeasureCaseSensitive unit = diff.Unit;
            Assert.AreEqual("d", unit.CodeValue, "unit");
            Assert.IsNull(diff.NullFlavor, "null flavor");
            node = CreateNode("<effectiveTime>" + "   <low nullFlavor=\"OTH\"/>" + "   <width nullFlavor=\"OTH\"/>" + "</effectiveTime>"
                              );
            interval = Parse(node, "IVL<TS>");
            Assert.IsTrue(this.result.IsValid(), "valid");
            Assert.IsNotNull(interval, "null");
            Assert.IsNull(interval.Low, "low");
            Assert.IsNull(interval.High, "high");
            Assert.IsNull(interval.Centre, "centre");
            Assert.IsNotNull(interval.Width, "width");
            diff = (DateDiff)interval.Width;
            Assert.AreEqual("OTH", diff.NullFlavor.CodeValue, "nullFlavor");
            Assert.IsNull(diff.Unit, "unit");
        }
    protected void cldrDateChoose_SelectionChanged(object sender, EventArgs e)
    {
        //dateChosen = cldrDateChoose.SelectedDate;
        lblDateChosen.Text = "Valitsemasi päivä: " + cldrDateChoose.SelectedDate.ToShortDateString();
        DateDiff difference = new DateDiff(DateTime.Today, cldrDateChoose.SelectedDate);

        lblDateDifference.Text = string.Format("Päivät: {0}, Kuukaudet: {1}, Vuodet: {2}", difference.ElapsedDays, difference.ElapsedMonths, difference.ElapsedYears);
    }
Exemplo n.º 10
0
            public static bool DoDatesSpanFromLastYearToThisYear(DateTime dateOne, DateTime dateTwo)
            {
                DateTime januaryFirstOfThisYear    = GetYearStartOfDate(DateTime.Today);
                bool     areWeTalkingAboutThisYear = (DateDiff.Years(dateOne, januaryFirstOfThisYear) == 0) ||
                                                     (DateDiff.Years(dateTwo, januaryFirstOfThisYear) == 0);

                return(DateDiff.Years(dateOne, dateTwo) != 0 && areWeTalkingAboutThisYear);
            }
Exemplo n.º 11
0
        public void DifferenceTest() {
            var date1 = new DateTime(2008, 10, 12, 15, 32, 44, 243);
            var date2 = new DateTime(2010, 1, 3, 23, 22, 9, 345);

            var dateDiff = new DateDiff(date1, date2);

            Assert.AreEqual(date2.Subtract(date1), dateDiff.Difference);
        }
 public virtual string ToNaturalText(DateDiff dateDiff, bool round)
 {
     if (dateDiff.Years > 0) {
         if (round && dateDiff.Months >= 6) {
             return this.GetYearsText(dateDiff.Years + 1);
         }
         return this.GetYearsText(dateDiff.Years);
     }
     if (dateDiff.Months > 0) {
         if (round && dateDiff.Days >= 15) {
             return this.GetMonthsText(dateDiff.Months + 1);
         }
         return this.GetMonthsText(dateDiff.Months);
     }
     if (dateDiff.Days > 0) {
         if (round && dateDiff.Hours >= 12) {
             return this.GetDaysText(dateDiff.Days + 1);
         }
         return this.GetDaysText(dateDiff.Days);
     }
     if (!round) {
         if (dateDiff.Hours > 0) {
             return this.GetHoursText(dateDiff.Hours);
         }
         if (dateDiff.Minutes > 0) {
             return this.GetMinutesText(dateDiff.Minutes);
         }
         if (dateDiff.Seconds > 0) {
             return this.GetSecondsText(dateDiff.Seconds);
         }
     }
     bool carrier;
     var minutes = SixtyToQuarters(dateDiff.Minutes, out carrier);
     if (dateDiff.Hours > 0 || carrier) {
         if (carrier || minutes >= 30) {
             return this.GetHoursText(dateDiff.Hours + 1);
         }
         return this.GetHoursText(dateDiff.Hours);
     }
     var seconds = this.SixtyToQuarters(dateDiff.Seconds, out carrier);
     if (minutes == 0 && dateDiff.Minutes > 0) {
         if(seconds >= 30 || carrier) {
             return this.GetMinutesText(dateDiff.Minutes + 1);
         }
         return this.GetMinutesText(dateDiff.Minutes);
     }
     if (minutes == 0 && carrier) {
         return this.GetMinutesText(1);
     }
     if (minutes > 0) {
         return this.GetMinutesText(minutes);
     }
     if (seconds > 0) {
         return this.GetSecondsText(seconds);
     }
     return string.Empty;
 }
Exemplo n.º 13
0
        private IDictionary <string, string> GetAttributes(DateDiff period, FormatContext context)
        {
            PhysicalQuantity quantity   = period.ValueAsPhysicalQuantity;
            FormatContext    newContext = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl("PQ.TIME", context);

            // getAttributeNameValuePairs is never called with a null value; directly calling it from here is a bit of a cheat, so ensure no null passed in
            return(quantity == null ? new Dictionary <string, string>() : new PqPropertyFormatter().GetAttributeNameValuePairs(newContext
                                                                                                                               , quantity));
        }
Exemplo n.º 14
0
        public void DefaultsTest()
        {
            DateTime test = new DateTime(2008, 10, 12, 15, 32, 44, 243);

            DateDiff dateDiff = new DateDiff(test, test);

            Assert.Equal(dateDiff.YearBaseMonth, TimeSpec.CalendarYearStartMonth);
            Assert.Equal(dateDiff.FirstDayOfWeek, DateDiff.SafeCurrentInfo.FirstDayOfWeek);
        }         // DefaultsTest
Exemplo n.º 15
0
        public void DifferenceTest()
        {
            DateTime date1 = new DateTime(2008, 10, 12, 15, 32, 44, 243);
            DateTime date2 = new DateTime(2010, 1, 3, 23, 22, 9, 345);

            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.Equal <TimeSpan>(dateDiff.Difference, date2.Subtract(date1));
        }         // DifferenceTest
Exemplo n.º 16
0
        private void LoadPatientInfo()
        {
            if (_patientCard != null)
            {
                txtName.Text  = _patientCard.NAME;
                txtSex.Text   = _patientCard.SEX;
                txtAge.Text   = string.IsNullOrEmpty(_patientCard.AGE) ? DateDiff.CalAge(_patientCard.DATE_OF_BIRTH.Value, accountRepository.GetServerTime().Data) : _patientCard.AGE;
                txtInpNo.Text = _patientCard.INP_NO;
                txtBedNo.Text = _patientCard.BED_NO;

                txtDeptName.Text            = RefreshDeptCode(_patientCard.DEPT_CODE);
                txtDiagBeforeOperation.Text = _patientCard.DIAG_BEFORE_OPERATION;
                txtOperNamePlan.Text        = _patientCard.OPERATION_NAME;
                txtOperScale.Text           = _patientCard.OPER_SCALE;
                txtOperPosition.Text        = _patientCard.OPER_POSITION;
                if (_patientCard.EMERGENCY_IND == 1 || panelEmergency.Visible)
                {
                    radioGroupEmergency.SelectedIndex = 0;
                }
                else
                {
                    radioGroupEmergency.SelectedIndex = 1;
                }
                memoCondition.Text        = _patientCard.PATIENT_CONDITION;
                txtFirstOperDoctor.Text   = RefreshHisUsers(_patientCard.SURGEON);
                txtSecondOperDoctor.Text  = RefreshHisUsers(_patientCard.FIRST_OPER_ASSISTANT);
                txtThirdOperDoctor.Text   = RefreshHisUsers(_patientCard.SECOND_OPER_ASSISTANT);
                txtFourthOperDoctor.Text  = RefreshHisUsers(_patientCard.THIRD_OPER_ASSISTANT);
                txtCPDDoctor.Text         = RefreshHisUsers(_patientCard.CPB_DOCTOR);
                txtSecondCPDDoctor.Text   = RefreshHisUsers(_patientCard.SECOND_CPB_ASSISTANT);
                txtFirstOperNurse.Text    = RefreshHisUsers(_patientCard.FIRST_OPER_NURSE);
                txtSecondOperNurse.Text   = RefreshHisUsers(_patientCard.SECOND_OPER_NURSE);
                txtFirstSupplyNurse.Text  = RefreshHisUsers(_patientCard.FIRST_SUPPLY_NURSE);
                txtSecondSupplyNurse.Text = RefreshHisUsers(_patientCard.SECOND_SUPPLY_NURSE);
                txtAnesMethod.Text        = _patientCard.ANAESTHESIA_TYPE;
                txtAnesMethod.Text        = _patientCard.ANES_METHOD;
                txtAnesDoctor.Text        = RefreshHisUsers(_patientCard.ANES_DOCTOR);
                txtSecondAnesDoctor.Text  = RefreshHisUsers(_patientCard.SECOND_ANES_ASSISTANT);
                txtThirdAnesDoctor.Text   = RefreshHisUsers(_patientCard.THIRD_ANES_ASSISTANT);
                txtFourthAnesDoctor.Text  = RefreshHisUsers(_patientCard.FOURTH_ANES_ASSISTANT);
                txtASAGrade.Text          = _patientCard.ASA_GRADE;
                txtWoundType.Text         = _patientCard.WOUND_TYPE;
                if (_patientCard.EMERGENCY_IND == 1)
                {
                    pictureBoxJZ.Visible = true;
                }
                if (_patientCard.ISOLATION_IND == 2)
                {
                    pictureBoxGL.Visible = true;
                }
                if (_patientCard.RADIATE_IND == 2)
                {
                    pictureBoxFS.Visible = true;
                }
            }
        }
Exemplo n.º 17
0
        public void RichardBasicTest()
        {
            DateTime date1    = new DateTime(2012, 12, 1);
            DateTime date2    = new DateTime(2012, 12, 25);
            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.Equal(0, dateDiff.ElapsedYears);
            Assert.Equal(0, dateDiff.ElapsedMonths);
            Assert.Equal(24, dateDiff.ElapsedDays);
        }         //    RichardBasicTest
Exemplo n.º 18
0
        public void RichardBornOnALeapYearTest()
        {
            DateTime date1    = new DateTime(2008, 2, 29);
            DateTime date2    = new DateTime(2009, 2, 28);
            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.AreEqual(dateDiff.ElapsedYears, 0);
            Assert.AreEqual(dateDiff.ElapsedMonths, 11);
            Assert.AreEqual(dateDiff.ElapsedDays, 30);
        }         //    RichardBornOnALeapYearTest
Exemplo n.º 19
0
        public void RichardLongMonthToPartWayThruShortMonthTest()
        {
            DateTime date1    = new DateTime(2009, 8, 31);
            DateTime date2    = new DateTime(2009, 9, 10);
            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.AreEqual(dateDiff.ElapsedYears, 0);
            Assert.AreEqual(dateDiff.ElapsedMonths, 0);
            Assert.AreEqual(dateDiff.ElapsedDays, 10);
        }         //    RichardLongMonthToPartWayThruShortMonthTest
Exemplo n.º 20
0
        public void RichardLongMonthToLongMonthTest()
        {
            DateTime date1    = new DateTime(2010, 1, 31);
            DateTime date2    = new DateTime(2010, 3, 31);
            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.Equal(0, dateDiff.ElapsedYears);
            Assert.Equal(2, dateDiff.ElapsedMonths);
            Assert.Equal(0, dateDiff.ElapsedDays);
        }         //    RichardLongMonthToLongMonthTest
Exemplo n.º 21
0
        public void RichardLongMonthToLongMonthPenultimateDayTest()
        {
            DateTime date1    = new DateTime(2009, 1, 31);
            DateTime date2    = new DateTime(2009, 3, 30);
            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.Equal(0, dateDiff.ElapsedYears);
            Assert.Equal(1, dateDiff.ElapsedMonths);
            Assert.Equal(30, dateDiff.ElapsedDays);
        }         //    RichardLongMonthToLongMonthPenultimateDayTest
Exemplo n.º 22
0
        public void RichardLongMonthToShortMonthTest()
        {
            DateTime date1    = new DateTime(2009, 8, 31);
            DateTime date2    = new DateTime(2009, 9, 30);
            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.Equal(0, dateDiff.ElapsedYears);
            Assert.Equal(0, dateDiff.ElapsedMonths);
            Assert.Equal(30, dateDiff.ElapsedDays);
        }         //    RichardLongMonthToShortMonthTest
Exemplo n.º 23
0
        public void RichardBornOnALeapYearTest2()
        {
            DateTime date1    = new DateTime(2008, 2, 29);
            DateTime date2    = new DateTime(2009, 3, 01);
            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.Equal(1, dateDiff.ElapsedYears);
            Assert.Equal(0, dateDiff.ElapsedMonths);
            Assert.Equal(1, dateDiff.ElapsedDays);
        }         //    RichardBornOnALeapYearTest2
Exemplo n.º 24
0
        public void RichardAlmostTwoYearsTest()
        {
            DateTime date1    = new DateTime(2010, 8, 29);
            DateTime date2    = new DateTime(2012, 8, 14);
            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.Equal(1, dateDiff.ElapsedYears);
            Assert.Equal(11, dateDiff.ElapsedMonths);
            Assert.Equal(16, dateDiff.ElapsedDays);
        }         //    RichardAlmostTwoYearsTest
Exemplo n.º 25
0
        public void ValidInput_Successful(DateTime fromDate, DateTime toDate, DateDiffResult expected)
        {
            var dateDiff = new DateDiff(fromDate, toDate);

            Assert.Equal(expected.Years, dateDiff.Years);
            Assert.Equal(expected.Months, dateDiff.Months);
            Assert.Equal(expected.Days, dateDiff.Days);
            Assert.Equal(expected.Distances, dateDiff.Distances);
            Assert.Equal(expected.ToString(), dateDiff.ToString());
        }
Exemplo n.º 26
0
        public void RichardAlmostThreeYearsTest()
        {
            DateTime date1    = new DateTime(2009, 7, 29);
            DateTime date2    = new DateTime(2012, 7, 14);
            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.Equal(2, dateDiff.ElapsedYears);
            Assert.Equal(11, dateDiff.ElapsedMonths);
            Assert.Equal(15, dateDiff.ElapsedDays);
        }         //    RichardAlmostThreeYearsTest
Exemplo n.º 27
0
        public void GetTimeBetween_59Secs_Returns59Seconds()
        {
            var t1 = new DateTime(2000, 01, 01, 12, 00, 00);
            var t2 = new DateTime(2000, 01, 01, 12, 00, 59);

            var subject  = new DateDiff();
            var actual   = subject.GetTimeBetween(t1, t2);
            var expected = "(59 seconds ago)";

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 28
0
        public void GetTimeBetween_6Mins_Returns6Minutes()
        {
            var t1 = new DateTime(2000, 01, 01, 12, 00, 00);
            var t2 = new DateTime(2000, 01, 01, 12, 06, 00);

            var subject  = new DateDiff();
            var actual   = subject.GetTimeBetween(t1, t2);
            var expected = "(6 minutes ago)";

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 29
0
        public void GetTimeBetween23H59Mins_Returns23Hour()
        {
            var t1 = new DateTime(2000, 01, 01, 12, 00, 00);
            var t2 = new DateTime(2000, 01, 02, 11, 59, 59);

            var subject  = new DateDiff();
            var actual   = subject.GetTimeBetween(t1, t2);
            var expected = "(23 hours ago)";

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 30
0
        public void GetTimeBetween_1Sec_Returns1Second()
        {
            var t1 = new DateTime(2000, 01, 01, 12, 00, 00);
            var t2 = new DateTime(2000, 01, 01, 12, 00, 01);

            var subject  = new DateDiff();
            var actual   = subject.GetTimeBetween(t1, t2);
            var expected = "(1 second ago)";

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 31
0
        public void GetTimeBetween119Mins_Returns1Hour()
        {
            var t1 = new DateTime(2000, 01, 01, 12, 00, 00);
            var t2 = new DateTime(2000, 01, 01, 13, 59, 00);

            var subject  = new DateDiff();
            var actual   = subject.GetTimeBetween(t1, t2);
            var expected = "(1 hour ago)";

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 32
0
        public void GetTimeBetween1Year_ReturnsMoreThan24Hours()
        {
            var t1 = new DateTime(2000, 01, 01, 12, 00, 00);
            var t2 = new DateTime(2001, 01, 01, 12, 00, 00);

            var subject  = new DateDiff();
            var actual   = subject.GetTimeBetween(t1, t2);
            var expected = "(more than 24 hours ago)";

            Assert.AreEqual(expected, actual);
        }
        public static String DateDifferencePeriod(DateTime earliestDate, DateTime latestDate)
        {
            DateDiff dateDiff = new DateDiff(earliestDate, latestDate);

            return(string.Format("{0} year{1}, {2} month{3}, {4} day{5}",
                                 dateDiff.ElapsedYears,
                                 (dateDiff.ElapsedYears > 1) ? "s":"",
                                 dateDiff.ElapsedMonths,
                                 (dateDiff.ElapsedMonths > 1) ? "s" : "",
                                 dateDiff.ElapsedDays,
                                 (dateDiff.ElapsedDays > 1) ? "s" : ""));
        }
Exemplo n.º 34
0
        public void TimeSpanConstructorTest()
        {
            Assert.Equal <TimeSpan>(new DateDiff(TimeSpan.Zero).Difference, TimeSpan.Zero);

            DateTime date1    = new DateTime(2014, 3, 4, 7, 57, 36, 234);
            TimeSpan diffence = new TimeSpan(234, 23, 23, 43, 233);
            DateDiff dateDiff = new DateDiff(date1, diffence);

            Assert.Equal <DateTime>(dateDiff.Date1, date1);
            Assert.Equal <DateTime>(dateDiff.Date2, date1.Add(diffence));
            Assert.Equal <TimeSpan>(dateDiff.Difference, diffence);
        } // TimeSpanConstructorTest
Exemplo n.º 35
0
        public void YearsTest(int? yearDiff) {
            var year = yearDiff.GetValueOrDefault(1);

            var date1 = ClockProxy.Clock.Now;
            var date2 = date1.AddYears(year);
            var date3 = date1.AddYears(-year);

            if(IsDebugEnabled)
                log.Debug("date1=[{0}], date2=[{1}], date3=[{2}]", date1, date2, date3);

            var dateDiff12 = new DateDiff(date1, date2);

            Assert.AreEqual(year, dateDiff12.ElapsedYears);
            Assert.AreEqual(0, dateDiff12.ElapsedMonths);
            Assert.AreEqual(0, dateDiff12.ElapsedDays);
            Assert.AreEqual(0, dateDiff12.ElapsedHours);
            Assert.AreEqual(0, dateDiff12.ElapsedMinutes);
            Assert.AreEqual(0, dateDiff12.ElapsedSeconds);

            Assert.AreEqual(year, dateDiff12.Years);
            Assert.AreEqual(year * TimeSpec.QuartersPerYear, dateDiff12.Quarters);
            Assert.AreEqual(year * TimeSpec.MonthsPerYear, dateDiff12.Months);
            // Assert.AreEqual(, dateDiff12.Weeks);

            var date12Days = date2.Subtract(date1).TotalDays.AsInt();

            Assert.AreEqual(date12Days, dateDiff12.Days);
            Assert.AreEqual(date12Days * TimeSpec.HoursPerDay, dateDiff12.Hours);
            Assert.AreEqual(date12Days * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour, dateDiff12.Minutes);
            Assert.AreEqual(date12Days * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour * TimeSpec.SecondsPerMinute, dateDiff12.Seconds);


            var dateDiff13 = new DateDiff(date1, date3);

            Assert.AreEqual(-year, dateDiff13.ElapsedYears);
            Assert.AreEqual(0, dateDiff13.ElapsedMonths);
            Assert.AreEqual(0, dateDiff13.ElapsedDays);
            Assert.AreEqual(0, dateDiff13.ElapsedHours);
            Assert.AreEqual(0, dateDiff13.ElapsedMinutes);
            Assert.AreEqual(0, dateDiff13.ElapsedSeconds);

            Assert.AreEqual(-year, dateDiff13.Years);
            Assert.AreEqual(-year * TimeSpec.QuartersPerYear, dateDiff13.Quarters);
            Assert.AreEqual(-year * TimeSpec.MonthsPerYear, dateDiff13.Months);

            var date13Days = date1.Subtract(date3).TotalDays.AsInt();

            Assert.AreEqual(-date13Days, dateDiff13.Days);
            Assert.AreEqual(-date13Days * TimeSpec.HoursPerDay, dateDiff13.Hours);
            Assert.AreEqual(-date13Days * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour, dateDiff13.Minutes);
            Assert.AreEqual(-date13Days * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour * TimeSpec.SecondsPerMinute, dateDiff13.Seconds);
        }
Exemplo n.º 36
0
        public void EmptyDateDiffTest() {
            var now = ClockProxy.Clock.Now;

            var dateDiff = new DateDiff(now, now);

            dateDiff.IsEmpty.Should().Be.True();
            dateDiff.Difference.Should().Be(TimeSpan.Zero);

            Assert.AreEqual(0, dateDiff.Years);
            Assert.AreEqual(0, dateDiff.Quarters);
            Assert.AreEqual(0, dateDiff.Months);
            Assert.AreEqual(0, dateDiff.Weeks);
            Assert.AreEqual(0, dateDiff.Days);
            Assert.AreEqual(0, dateDiff.Hours);
            Assert.AreEqual(0, dateDiff.Minutes);
            Assert.AreEqual(0, dateDiff.Seconds);

            Assert.AreEqual(0, dateDiff.ElapsedYears);
            Assert.AreEqual(0, dateDiff.ElapsedMonths);
            Assert.AreEqual(0, dateDiff.ElapsedDays);
            Assert.AreEqual(0, dateDiff.ElapsedHours);
            Assert.AreEqual(0, dateDiff.ElapsedMinutes);
            Assert.AreEqual(0, dateDiff.ElapsedSeconds);
        }
Exemplo n.º 37
0
        public void MonthsTest() {
            var date1 = new DateTime(2011, 5, 14, 15, 32, 44, 243);
            var date2 = date1.AddMonths(1);
            var date3 = date1.AddMonths(-1);

            var dateDiff12 = new DateDiff(date1, date2);

            Assert.AreEqual(0, dateDiff12.ElapsedYears);
            Assert.AreEqual(1, dateDiff12.ElapsedMonths);
            Assert.AreEqual(0, dateDiff12.ElapsedDays);
            Assert.AreEqual(0, dateDiff12.ElapsedHours);
            Assert.AreEqual(0, dateDiff12.ElapsedMinutes);
            Assert.AreEqual(0, dateDiff12.ElapsedSeconds);

            Assert.AreEqual(0, dateDiff12.Years);
            Assert.AreEqual(0, dateDiff12.Quarters);
            Assert.AreEqual(1, dateDiff12.Months);
            Assert.AreEqual(5, dateDiff12.Weeks);
            Assert.AreEqual(31, dateDiff12.Days);
            Assert.AreEqual(31 * TimeSpec.HoursPerDay, dateDiff12.Hours);
            Assert.AreEqual(31 * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour, dateDiff12.Minutes);
            Assert.AreEqual(31 * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour * TimeSpec.SecondsPerMinute, dateDiff12.Seconds);


            var dateDiff13 = new DateDiff(date1, date3);

            Assert.AreEqual(0, dateDiff13.ElapsedYears);
            Assert.AreEqual(-1, dateDiff13.ElapsedMonths);
            Assert.AreEqual(0, dateDiff13.ElapsedDays);
            Assert.AreEqual(0, dateDiff13.ElapsedHours);
            Assert.AreEqual(0, dateDiff13.ElapsedMinutes);
            Assert.AreEqual(0, dateDiff13.ElapsedSeconds);

            Assert.AreEqual(0, dateDiff13.Years);
            Assert.AreEqual(0, dateDiff13.Quarters);
            Assert.AreEqual(-1, dateDiff13.Months);
            Assert.AreEqual(-4, dateDiff13.Weeks);
            Assert.AreEqual(-30, dateDiff13.Days);
            Assert.AreEqual(-30 * TimeSpec.HoursPerDay, dateDiff13.Hours);
            Assert.AreEqual(-30 * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour, dateDiff13.Minutes);
            Assert.AreEqual(-30 * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour * TimeSpec.SecondsPerMinute, dateDiff13.Seconds);
        }
Exemplo n.º 38
0
        public void WeeksTest() {
            var date1 = new DateTime(2011, 5, 14, 15, 32, 44, 243);
            var date2 = date1.AddDays(TimeSpec.DaysPerWeek);
            var date3 = date1.AddDays(-TimeSpec.DaysPerWeek);

            var dateDiff12 = new DateDiff(date1, date2);

            Assert.AreEqual(0, dateDiff12.Years);
            Assert.AreEqual(0, dateDiff12.Quarters);
            Assert.AreEqual(0, dateDiff12.Months);
            Assert.AreEqual(1, dateDiff12.Weeks);
            Assert.AreEqual(TimeSpec.DaysPerWeek, dateDiff12.Days);
            Assert.AreEqual(TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay, dateDiff12.Hours);
            Assert.AreEqual(TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour, dateDiff12.Minutes);
            Assert.AreEqual(TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour * TimeSpec.SecondsPerMinute,
                            dateDiff12.Seconds);


            DateDiff dateDiff13 = new DateDiff(date1, date3);

            Assert.AreEqual(0, dateDiff13.Years);
            Assert.AreEqual(0, dateDiff13.Quarters);
            Assert.AreEqual(0, dateDiff13.Months);
            Assert.AreEqual(-1, dateDiff13.Weeks);
            Assert.AreEqual(-TimeSpec.DaysPerWeek, dateDiff13.Days);
            Assert.AreEqual(-TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay, dateDiff13.Hours);
            Assert.AreEqual(-TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour, dateDiff13.Minutes);
            Assert.AreEqual(-TimeSpec.DaysPerWeek * TimeSpec.HoursPerDay * TimeSpec.MinutesPerHour * TimeSpec.SecondsPerMinute,
                            dateDiff13.Seconds);
        }
Exemplo n.º 39
0
        public void MinutesTest(int? minuteDiff) {
            var minutes = minuteDiff.GetValueOrDefault(1);

            var date1 = new DateTime(2011, 5, 14, 15, 32, 44, 243);
            var date2 = date1.AddMinutes(minutes);
            var date3 = date1.AddMinutes(-minutes);

            var dateDiff12 = new DateDiff(date1, date2);

            Assert.AreEqual(0, dateDiff12.ElapsedYears);
            Assert.AreEqual(0, dateDiff12.ElapsedMonths);
            Assert.AreEqual(0, dateDiff12.ElapsedDays);
            Assert.AreEqual(0, dateDiff12.ElapsedHours);
            Assert.AreEqual(minutes, dateDiff12.ElapsedMinutes);
            Assert.AreEqual(0, dateDiff12.ElapsedSeconds);

            Assert.AreEqual(0, dateDiff12.Years);
            Assert.AreEqual(0, dateDiff12.Quarters);
            Assert.AreEqual(0, dateDiff12.Months);
            Assert.AreEqual(0, dateDiff12.Weeks);
            Assert.AreEqual(0, dateDiff12.Days);
            Assert.AreEqual(0, dateDiff12.Hours);
            Assert.AreEqual(minutes, dateDiff12.Minutes);
            Assert.AreEqual(minutes * TimeSpec.SecondsPerMinute, dateDiff12.Seconds);


            var dateDiff13 = new DateDiff(date1, date3);

            Assert.AreEqual(0, dateDiff13.ElapsedYears);
            Assert.AreEqual(0, dateDiff13.ElapsedMonths);
            Assert.AreEqual(0, dateDiff13.ElapsedDays);
            Assert.AreEqual(0, dateDiff13.ElapsedHours);
            Assert.AreEqual(-minutes, dateDiff13.ElapsedMinutes);
            Assert.AreEqual(0, dateDiff13.ElapsedSeconds);

            Assert.AreEqual(0, dateDiff13.Years);
            Assert.AreEqual(0, dateDiff13.Quarters);
            Assert.AreEqual(0, dateDiff13.Months);
            Assert.AreEqual(0, dateDiff13.Weeks);
            Assert.AreEqual(0, dateDiff13.Days);
            Assert.AreEqual(0, dateDiff13.Hours);
            Assert.AreEqual(-minutes, dateDiff13.Minutes);
            Assert.AreEqual(-minutes * TimeSpec.SecondsPerMinute, dateDiff13.Seconds);
        }
Exemplo n.º 40
0
        public void SecondsTest(int? secondDiff) {
            var seconds = secondDiff.GetValueOrDefault(1);

            DateTime date1 = new DateTime(2011, 5, 14, 15, 32, 44, 243);
            DateTime date2 = date1.AddSeconds(seconds);
            DateTime date3 = date1.AddSeconds(-seconds);

            var dateDiff12 = new DateDiff(date1, date2);

            Assert.AreEqual(0, dateDiff12.ElapsedYears);
            Assert.AreEqual(0, dateDiff12.ElapsedMonths);
            Assert.AreEqual(0, dateDiff12.ElapsedDays);
            Assert.AreEqual(0, dateDiff12.ElapsedHours);
            Assert.AreEqual(0, dateDiff12.ElapsedMinutes);
            Assert.AreEqual(seconds, dateDiff12.ElapsedSeconds);

            Assert.AreEqual(0, dateDiff12.Years);
            Assert.AreEqual(0, dateDiff12.Quarters);
            Assert.AreEqual(0, dateDiff12.Months);
            Assert.AreEqual(0, dateDiff12.Weeks);
            Assert.AreEqual(0, dateDiff12.Days);
            Assert.AreEqual(0, dateDiff12.Hours);
            Assert.AreEqual(0, dateDiff12.Minutes);
            Assert.AreEqual(seconds, dateDiff12.Seconds);


            var dateDiff13 = new DateDiff(date1, date3);

            Assert.AreEqual(0, dateDiff13.ElapsedYears);
            Assert.AreEqual(0, dateDiff13.ElapsedMonths);
            Assert.AreEqual(0, dateDiff13.ElapsedDays);
            Assert.AreEqual(0, dateDiff13.ElapsedHours);
            Assert.AreEqual(0, dateDiff13.ElapsedMinutes);
            Assert.AreEqual(-seconds, dateDiff13.ElapsedSeconds);

            Assert.AreEqual(0, dateDiff13.Years);
            Assert.AreEqual(0, dateDiff13.Quarters);
            Assert.AreEqual(0, dateDiff13.Months);
            Assert.AreEqual(0, dateDiff13.Weeks);
            Assert.AreEqual(0, dateDiff13.Days);
            Assert.AreEqual(0, dateDiff13.Hours);
            Assert.AreEqual(0, dateDiff13.Minutes);
            Assert.AreEqual(-seconds, dateDiff13.Seconds);
        }
Exemplo n.º 41
0
        public void NegativeDurationTest(int? diff) {
            var subtracted = -diff.GetValueOrDefault(1);

            var date1 = ClockProxy.Clock.Now; //new DateTime(2011, 5, 14, 15, 32, 44, 243);
            var date2 =
                date1.AddYears(subtracted).AddMonths(subtracted).AddDays(subtracted).AddHours(subtracted).AddMinutes(subtracted).
                    AddSeconds(subtracted);

            DateDiff dateDiff = new DateDiff(date1, date2);

            Assert.AreEqual(subtracted, dateDiff.ElapsedYears);
            Assert.AreEqual(subtracted, dateDiff.ElapsedMonths);
            Assert.AreEqual(subtracted, dateDiff.ElapsedDays);
            Assert.AreEqual(subtracted, dateDiff.ElapsedHours);
            Assert.AreEqual(subtracted, dateDiff.ElapsedMinutes);
            Assert.AreEqual(subtracted, dateDiff.ElapsedSeconds);
        }