c#中关于Datatime在定时中的应用与启发
2017-11-27 10:37
218 查看
技术是一个不断磨练、反复记忆的过程,但是很多时候一些东西很有用,但由于应用不多渐渐生疏,这时候,笔记是最好的选择,这也是我写这篇文章的初衷。
做一个简单的定时重启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
然后发现两者都有TotalSeconds方法,那么问题就好解决。下面是获取时间差值的几行代码
好吧,花半小时写了这篇笔记,偷个懒,继续工作了
做一个简单的定时重启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;
好吧,花半小时写了这篇笔记,偷个懒,继续工作了
相关文章推荐
- c#中的datatime类型应用
- [转]关于C#开发GIS应用简明教程的说明
- 关于c#静态方法和实例方法的辨析和应用
- 一起谈.NET技术,关于c#静态方法和实例方法的辨析和应用
- c# 利用Time实现定时启动程序
- 关于c#静态方法和实例方法的辨析和应用(转载)
- C#关于ListView控件在列表视图中拖动视图项功能应用
- 关于C#/.NET中委托和事件的机制和应用的故事(转)
- 关于C#中Oracle的访问层的编写(使用日本Seasar后的启发)
- DataTime.Now.Ticks的应用
- c# / ASP.net中有关DataTime
- 关于百度编辑器UEditor(1.4.3)在C#.NET中的应用实例
- java关于Timer schedule执行定时任务 1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等
- 关于C#/.NET中委托和事件的机制和应用的故事(转)
- JavaScript常用的正则表达式应用(ip,email,data,time)
- 关于datatime类型的转换
- C#关于HttpClient的应用(一):获取IP所在的地理位置信息
- 关于C#使用DataContractJsonSerializer来进行JSON解析
- 关于C#中文本模板(.tt)的简单应用