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);
 }
Exemple #2
0
        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();
 }