winform 获取两个具体时间的时间差

winform 获取两个具体时间的时间差,第1张

DateTime Stime;//Start时间

DateTime Etime;//End时间

//入库时,点一下button,出库时点一下 button 计算时间差

private void button1_Click(object sender, EventArgs e)

{

if (Stime == null || Stime == DateTimeMinValue)

{

Stime = SystemDateTimeNow;

Etime = DateTimeMinValue;

button1Text = "出车";

}

else

{

Etime = SystemDateTimeNow;

TimeSpan ts = Etime - Stime;

MessageBoxShow("您停车时长:" + tsDays + "天-"+tsHours+"时-"+tsMinutes+"分。谢谢!请付款");

Stime = DateTimeMinValue;

button1Text = "入车";

}

}

这个问题你可以考虑变通一下

能否在服务器端运行一段脚本

利用计时器不断把当前系统时间写入到某个特定的表

客户端插入数据时,不利用date获取时间

而是直接读取该表中的时间

理论上应该可行。

需要线程吗? 什么应用 对时间要那么精确? 如果不需要精确 到毫秒级的 你就用个定时器 在定时器里侦听系统时间啊

真要用线程,以下代码供参考:

class Worker

{

public void DoSomething()

{

while(true)

{

//业务逻辑,取时间 判断。。。

}

}

}

static void main()

{

Worker workerObject = new Worker();

Thread workerThread = new Thread(workerObjectDoSomething);

workerThreadStart();

}

每分钟触发一次不会占用大量资源,因为你只是判断一下当前时间是否就是指定时间,又没有执行其他 *** 作。CPU计算量可以忽略,而且又没有请求新的内存空间。

当然你要是觉得这样做太频繁了,可以在程序启动的时候先判断一下当前的时间,然后根据当前时间和指定时间之间的时间差指定Timer的interval,但这样可能导致少量的误差,因为Timer的interval不是十分精确的。

———————————————————————————

用VS创建一个Windows Service项目,具体的可以搜索C# Sevice(最近我发的给链接的回答老被百度知道吃了,所以就不直接给链接了……)。这样就能保证你的程序始终在后台执行。

至于固定时间处理,就用Timer,每分钟或者每小时判断一次当前时间,如果到了指定时间就执行,否则调整Timer的Tick间隔。

不过这种方法要求你的程序比较强壮,否则一次出错,以后就无法执行了,而且还要考虑资源的释放回收的问题。而如果用计划任务就比较灵活,一次出错不会影响下次执行,而且每次执行结束就关闭程序,不大会有资源占用方面的问题。

用winform做。

1先做个窗体,在窗体上面放一个label标签和button按钮,然后在button的click事件中写上label1Text= SystemDateTimeNowToString();

2保存重新生成解决方案后,右击类库,点击发布。之后一直点击下一步,发布完成。

3找到发布后的文件夹,在里面有一个Formexe文件,打开它,出现的画面就是你想要的。

希望对你有帮助。

延时 启动的时候获取系统时间,新开线程,这个线程负责检查系统时间和刚启动服务的时候的时间,看时间差够10分钟,就去运行C:\newsexe ,启动新进程用Process类

也可以直接ThreadSleep(10601000);延时十分钟

如果不一定要服务的话,直接Winform也行,随机启动,自启动时隐藏主窗口

用Thread或Timer控件,Thread:

          ConsoleWriteLine("开始时间:" + DateTimeNowToString("HH:mm:ss"));

          ConsoleWriteLine("5s後启动test()方法:");

          ThreadSleep(5000);

          ConsoleWriteLine("结束时间:" + DateTimeNowToString("HH:mm:ss"));

          test();

以上就是关于winform 获取两个具体时间的时间差全部的内容,包括:winform 获取两个具体时间的时间差、客户端取 access数据库所在机器的系统时间、我想在winform里写一个线程来监听系统时间,当系统时间到某一时刻,执行相应的程序块,请问这个线程怎样写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9691913.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存