private static SUTime.Time FindReferenceDate(IList <TimeExpression> timeExpressions) { // Find first full date in this annotation with year, month, and day foreach (TimeExpression te in timeExpressions) { SUTime.Temporal t = te.GetTemporal(); if (t is SUTime.Time) { if (t.IsGrounded()) { return(t.GetTime()); } else { if (t is SUTime.PartialTime) { if (JodaTimeUtils.HasYYYYMMDD(t.GetTime().GetJodaTimePartial())) { return(t.GetTime()); } else { if (JodaTimeUtils.HasYYMMDD(t.GetTime().GetJodaTimePartial())) { return(t.GetTime().Resolve(SUTime.GetCurrentTime()).GetTime()); } } } } } } return(null); }
public virtual void TestResolveDowToDay() { Partial p = new Partial(JodaTimeUtils.standardISOWeekFields, new int[] { 2016, 1, 1, 0, 0, 0, 0 }); NUnit.Framework.Assert.AreEqual("[year=2016, weekOfWeekyear=1, dayOfWeek=1, hourOfDay=0, minuteOfHour=0, secondOfMinute=0, millisOfSecond=0]", p.ToString()); Partial p2 = JodaTimeUtils.ResolveDowToDay(p); NUnit.Framework.Assert.AreEqual("2016-01-04T00:00:00.000", p2.ToString()); }
public override SUTime.Temporal Resolve(SUTime.Time t, int flags) { Partial p = (t != null) ? t.GetJodaTimePartial() : null; if (p != null) { if (JodaTimeUtils.HasField(p, DateTimeFieldType.Year())) { int year = p.Get(DateTimeFieldType.Year()); SUTime.Time resolved = ResolveWithYear(year); if (resolved != null) { return(resolved); } } } return(this); }
public virtual void TimexDurationValue() { JodaTimeUtils.ConversionOptions opts = new JodaTimeUtils.ConversionOptions(); //--2 Decades NUnit.Framework.Assert.AreEqual("P2E", JodaTimeUtils.TimexDurationValue(Period.Years(20), opts)); opts.forceUnits = new string[] { "Y" }; NUnit.Framework.Assert.AreEqual("P20Y", JodaTimeUtils.TimexDurationValue(Period.Years(20), opts)); opts.forceUnits = new string[] { "L" }; NUnit.Framework.Assert.AreEqual("P2E", JodaTimeUtils.TimexDurationValue(Period.Years(20), opts)); opts.approximate = true; NUnit.Framework.Assert.AreEqual("PXE", JodaTimeUtils.TimexDurationValue(Period.Years(20), opts)); opts.forceUnits = new string[] { "Y" }; NUnit.Framework.Assert.AreEqual("PXY", JodaTimeUtils.TimexDurationValue(Period.Years(20), opts)); opts = new JodaTimeUtils.ConversionOptions(); //--Quarters NUnit.Framework.Assert.AreEqual("P2Q", JodaTimeUtils.TimexDurationValue(Period.Months(6), opts)); opts.forceUnits = new string[] { "M" }; NUnit.Framework.Assert.AreEqual("P6M", JodaTimeUtils.TimexDurationValue(Period.Months(6), opts)); opts.approximate = true; NUnit.Framework.Assert.AreEqual("PXM", JodaTimeUtils.TimexDurationValue(Period.Months(6), opts)); opts = new JodaTimeUtils.ConversionOptions(); }