?? timespantiming.cs
字號:
?using System;
namespace Lephone.Util.TimingTask.Timings
{
public class TimeSpanTiming : ITiming
{
protected int SpanSeconds;
protected DateTime LastActiveTime;
protected NowProvider NowTimeProvider;
public TimeSpanTiming(TimeSpan Span) : this(Span, NowProvider.Instance) { }
public TimeSpanTiming(TimeSpan Span, NowProvider NowTimeProvider)
{
this.SpanSeconds = (int)Span.TotalSeconds;
this.NowTimeProvider = NowTimeProvider;
LastActiveTime = DateTime.MinValue;
}
public virtual bool TimesUp()
{
int ts = (int)TimeSpanFromNowOn().TotalSeconds;
return ( ts <= 0 );
}
public virtual TimeSpan TimeSpanFromNowOn()
{
DateTime dt = GetNextActiveTime();
TimeSpan ts = dt.Subtract(NowTimeProvider.Now);
return ts;
}
public virtual void Reset()
{
LastActiveTime = NowTimeProvider.Now;
}
protected DateTime GetNextActiveTime()
{
return LastActiveTime.AddSeconds(SpanSeconds);
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -