Return true if the number of seconds has elapsed since the last check : Date Time Util « Date Time « C# / C Sharp






Return true if the number of seconds has elapsed since the last check

   

// crudwork
// Copyright 2004 by Steve T. Pham (http://www.crudwork.com)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with This program.  If not, see <http://www.gnu.org/licenses/>.

using System;
using System.Collections.Generic;
using System.Text;

namespace crudwork.Utilities
{
  /// <summary>
  /// Date Utility
  /// </summary>
  public class DateUtil
  {
    /// <summary>
    /// create new instance with default attributes
    /// </summary>
    public DateUtil()
    {
    }





    #region HasElapsed method
    private DateTime? then = null;

    /// <summary>
    /// <para>return true if the number of seconds has elapsed since the last check; otherwise return false.</para>
    /// <para>Use this method to raise a status report event to the GUI (for example, every 1 second) to prevent
    /// clogging the message pump.</para>
    /// </summary>
    /// <param name="seconds">specify number of seconds to check</param>
    /// <returns></returns>
    public bool HasElapsed(double seconds)
    {
      return HasElapsed(seconds, true);
    }

    /// <summary>
    /// <para>return true if the number of seconds has elapsed since the last check; otherwise return false.</para>
    /// <para>Use this method to raise a status report event to the GUI (for example, every 1 second) to prevent
    /// clogging the message pump.</para>
    /// </summary>
    /// <param name="seconds">specify number of seconds to check</param>
    /// <param name="mark">set true to mark the time if time has elapsed; or set false to do a test only</param>
    /// <returns></returns>
    public bool HasElapsed(double seconds, bool mark)
    {
      var now = DateTime.Now;

      if (!then.HasValue)
      {
        then = now;
        return false;  // return false, because this is the very first check
      }

      if (then.Value.AddSeconds(seconds) >= now)
        return false;  // the # of seconds has NOT elapsed...

      // yes, it has. mark new time for next check
      if (mark)
        then = now;

      return true;
    }
    #endregion
  }
}

   
    
    
  








Related examples in the same category

1.Gets the days between.
2.Return a unique identifier based on system's full date (yyyymmdd) and time (hhmissms).
3.Return a elapsed time in formatted string. (hh:mm:ss:mi)
4.Screen for holidays
5.Return the previous business date of the date specified.
6.Return the previous or next business day of the date specified.
7.Add Business Days
8.Get Day Of Week
9.Add week to a DateTime
10.Get the quarter number for the DateTime
11.Get the week number
12.Date and time To Words
13.Return the number of milliseconds since the Unix epoch (1 Jan., 1970 UTC) for a given DateTime value.
14.Convert Unix Seconds
15.Get Elapsed Time
16.Is given DateTime Weekend
17.Converts a Date to a string using relative time.
18.Gets the date from Year integer
19.Gets the date from Year and Month integer
20.Gets the date from Year, Month and Day integer
21.Gets the days in month.
22.Gets the days in year.
23.Gets the end of day.
24.Gets the end of week.
25.Gets the start of month.
26.Gets the end of month.
27.Gets the end of quarter.
28.Gets the end of year.
29.Gets the months between.
30.Date Time To String
31.Update text within a file by replacing a substring within the file.
32.Get Date Difference in String
33.Converts the specified date and time strings to their DateTime equivalent representation.
34.Create Expires In String
35.Compares 2 dates ignoring the milliseconds
36.Calculate date, based on specified time and unit
37.Gets the ordinal suffix for a given date
38.Generate the timestamp of the provided DateTime
39.Converts the date to start from midnight.
40.Converts the date to end at midnight.
41.Convert time from seconds to ticks
42.Generate the UNIX style timestamp for DateTime.UtcNow
43.Parse DateTime from "2011/5/2 14:40"