频道栏目
首页 > 资讯 > C# > 正文

c#中Datatime在定时中的应用

17-11-27        来源:[db:作者]  
收藏   我要投稿

技术是一个不断磨练、反复记忆的过程,但是很多时候一些东西很有用,但由于应用不多渐渐生疏,这时候,笔记是最好的选择,这也是我写这篇文章的初衷。

做一个简单的定时重启PC服务,在datatime上遇到了一些小麻烦,花了近一个小时,严重影响效率。需求很简单,每天中午12:00定时重启PC。想到两个简单的逻辑实现:

一、开机时服务启动获取当前时间与12:00的差值,启动timer倒计时来实现定时关机

二、timer实时获取当前时间,当前时间=12:00时,重启PC

两种方法都很好实现,第一种方法需要注重一些细节,首先是获取的datetime.now的格式,这些网上有很多文章,注意到我们只想获取当天时间,年份、日期通通不要,所以我们采用DateTime.Now.TimeOfDay来获取,但是问题来了,DateTime.Now.TimeOfDay获取的是一个TimerSpan类型的值,该如何用TotalSeconds去获取时间差值,System.DateTime和System.TimeSpan的区别及应用参考,写一行设置时间代码,可以设置时间为12:00

TimeSpan ts = new TimeSpan(12, 00, 0);

然后发现两者都有TotalSeconds方法,那么问题就好解决。下面是获取时间差值的几行代码

            TimeSpan t1 = DateTime.Now.TimeOfDay;
            TimeSpan t2 = new TimeSpan(12, 00, 0);
            int numOfSec = (int)(t1 -t2).TotalSeconds;
相关TAG标签
上一篇:Threadlocal的详解
下一篇:Oracle数据库锁机制Lock的介绍
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站