コード例 #1
0
 public DateTime GetNextGranularity(DateTime now, GranularityDirection dir)
 {
     throw new NotImplementedException();
 }
コード例 #2
0
 public virtual DateTime GetNextGranularity(DateTime now, GranularityDirection dir) => Resources.GetNextGranularity(Granularity, Offset, now, dir);
コード例 #3
0
ファイル: Resources.cs プロジェクト: lurienanofab/lnf
        public static DateTime GetNextGranularity(int gran, int offset, DateTime now, GranularityDirection dir)
        {
            // get number of minutes between now and beginning of day (midnight + offset) of passed-in date
            DateTime dayBegin = now.Date.AddHours(offset);

            double repairBeginMinutes = now.Subtract(dayBegin).TotalMinutes;

            if (repairBeginMinutes % gran == 0)
            {
                return(now); //this is a granularity boundary
            }
            else
            {
                int numGrans = Convert.ToInt32(repairBeginMinutes / gran);
                return(dayBegin.AddMinutes((numGrans + (int)dir) * gran));
            }
        }