雁过请留痕...
代码改变世界

c#修改系统时间的方法

2011-12-21 17:06  xiashengwang  阅读(5322)  评论(0编辑  收藏  举报

C#没有提供直接的方法对系统时间进行设定,一般我们只能通过DateTime.Now获取系统时间,但是并不能对这个时间进行修改。这里对了解的主要的两种方式做了个整理,希望对大家有帮助。

方法一,用API函数的方式来修改时间。
首先定义API函数


调用API函数,这里主要要注意SetSystemTime和SetLocalTime,以及GetSystemTime和GetLocalTime的区别,尽量从测试结果中去分析比较。一般情况下我们就用SetLocalTime和GetLocalTime。


测试结果:

GetLocalTime()
2011/12/12 20:16:00
GetSystemTime()
2011/12/12 12:16:00  //获取的时候比北京时间少8小时
test time:2011/12/12 12:15:20
SetLocalTime()
2011/12/12 12:15:20
SetSystemTime()   //设定的时候比北京时间多8小时
2011/12/12 20:15:20

方法二,cmd命令的方式

这种方式可以用Process类调用cmd,以执行Window脚本的方式来改变系统时间,这种方式对于对批处理命令比较熟的人相当实用。代码如下:

主要用了一句“ date 日期”脚本命令,注意cmd的/C开关,代表的是执行完就关闭cmd窗口,否则如果调用了Process 的WaitForExit()等方法可能会阻塞。

 来过就留下点脚印吧,太冷清了委屈