如何从偏移量开始获取DateTime.Now

时间:2019-05-08 08:22:44

标签: datetime .net-core offset

我遇到的情况是,我需要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

基本上从给定的日期开始,我需要“模拟”时间规律地流动。

1 个答案:

答案 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));