我遇到的情况是,我需要DateTime.Now
属性以给定的日期开始,然后在下一次调用时才从该位置继续。
我需要能够用Now
来初始化1.07.1990
,然后在每次调用DateTime.Now
时才能计算出我经过了多少时间。
var offsetedNow=DateTime.Parse("01/07/1990 08:00:30");
//lets say i call the next line after 3 seconds
var newOffsetedNow=F(offsetedNow); // 01/07/1990 08:00:33
//i call it again after 1 minute
var lastNow=F(newOffsetedNow);// 01/07/1990 08:01:33
基本上从给定的日期开始,我需要“模拟”时间规律地流动。
答案 0 :(得分:1)
所以。 浅色:
var offset = DateTime.Now - DateTime.Parse("01/07/1990 08:00:30");
System.Threading.Thread.Sleep(3000);
var offsetedNow = DateTime.Now - offset;
硬:
var sw = Stopwatch.StartNew();
System.Threading.Thread.Sleep(3000);
sw.Stop();
var offsetedTime = DateTime.Parse("01/07/1990 08:00:30").Add(new TimeSpan(sw.ElapsedTicks));