C# 如何从字符串中重新分配DateTime.Now?
守则:C# 如何从字符串中重新分配DateTime.Now?,c#,winforms,C#,Winforms,守则: private void beginOperstionChecker(DateTime dt) { string time = Options_DB.Get_OperationLastTime(); DateTime.Now = time; } 例如,time now显示保存的datetime.now可以是分钟前或一小时前。 datetime.now在我的程序完成操作后保存 dt=当前日期时间现在我在构造函数中使用此方法 我要做的是计算上次保存的datetime.now
private void beginOperstionChecker(DateTime dt)
{
string time = Options_DB.Get_OperationLastTime();
DateTime.Now = time;
}
例如,time now显示保存的datetime.now可以是分钟前或一小时前。
datetime.now在我的程序完成操作后保存
dt=当前日期时间现在我在构造函数中使用此方法
我要做的是计算上次保存的datetime.nowtime和当前的datetime.nowdt之间经过的时间
如果经过的时间为20分钟或更长,则启用true按钮。使用Parse从字符串中获取DateTime实例
DateTime dt = DateTime.Parse(time)
然后你就可以利用现在的时间了
DateTime.UtcNow; or DateTime.Now;
然后从另一个中减去一个,并根据您的输出设置适当的格式您无法设置DateTime。现在您需要创建DateTime对象的实例
然后你可以说
TimeSpan diff = DateTime.Now - MyDateTime;
这有一个名为TotalMinutes的属性,可用于支票
if (diff.TotalMinutes >= 20)
{
//Do sommething
}
你可以试试这个代码
DateTime date;
if (DateTime.TryParse(time, out date))
{
TimeSpan diff = date - dt;
if (diff.TotalMinutes >= 20)
{
//Do sommething
}
}
每次运行此方法时,都需要将值持久化到某个位置。我将上次调用该变量。那将是一个约会时间。此外,还需要一个变量来表示这两者之间的实际运行时间,我们称之为_elapsedTime。这将是一个时间跨度。考虑到这一点,考虑这个代码:
private void beginOperstionChecker(DateTime dt)
{
string time = Options_DB.Get_OperationLastTime();
var dt = DateTime.Parse(time);
_elapsedTime = dt.Subtract(_elapsedTime);
_lastTime = dt;
}
您可以使用TimeSpan类检查经过的时间
private void beginOperstionChecker(DateTime dt)
{
if(TimeSpan.FromMinutes(20) == DateTime.Now - dt)
{
//do your stuff here
}
}
您可以使用TimeSpan执行此操作。
你需要在几分钟内得到差异
我认为你在寻找这个:
private void beginOperstionChecker(DateTime dt)
{
string time = Options_DB.Get_OperationLastTime();
DateTime lastTime = DateTime.Parse(time);
if (DateTime.Now - lastTime > new TimeSpan(0, 20, 0))
{
//It's passed more than 20mins from last save.
}
}
为什么要立即分配日期时间?你的意思是改变系统时间?这显然是时间旅行。
private void beginOperstionChecker(DateTime dt)
{
string time = Options_DB.Get_OperationLastTime();
DateTime lastTime = DateTime.Parse(time);
if (DateTime.Now - lastTime > new TimeSpan(0, 20, 0))
{
//It's passed more than 20mins from last save.
}
}