请问?如何用C#实现修改系统时区???

nyucv 2004-12-10 09:18:46
用C#实现!修改系统时区!
比如把北京时间!改为纽约时间?
...全文
380 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffb 2004-12-27
  • 打赏
  • 举报
回复
-8的8是怎么得到的?
soilwork 2004-12-10
  • 打赏
  • 举报
回复
mark
xjjdanran 2004-12-10
  • 打赏
  • 举报
回复
结贴了,也Mark一下!
nyucv 2004-12-10
  • 打赏
  • 举报
回复
好谢谢各位!:)
Michael116011 2004-12-10
  • 打赏
  • 举报
回复
又学了一招,谢谢
saucer 2004-12-10
  • 打赏
  • 举报
回复
use SetTimeZoneInformation API, see

http://www.pinvoke.net/default.aspx/kernel32.SetTimeZoneInformation
深山老翁 2004-12-10
  • 打赏
  • 举报
回复
可以用API来做:
[StructLayout (LayoutKind.Sequential)]
public struct SYSTEMTIME
{
public short Year;
public short Month;
public short DayOfWeek;
public short Day;
public short Hour;
public short Minute;
public short Second;
public short Miliseconds;
}


//api函数声明
[DllImport ("kernel32.dll", CharSet=CharSet.Ansi)]
public extern static bool SetSystemTime(ref SYSTEMTIME time);

private void button1_Click(object sender, System.EventArgs e)
{
//调用代码
SYSTEMTIME t = new SYSTEMTIME ();
t.Year = 2000;
t.Month = 1;
t.Day = 2;
t.Hour = 12-8; //这个函数使用的是0时区的时间,对于我们用+8时区的,时间要自己算一下.如要设12点,则为12-8
t.Minute = 5;
bool v = SetSystemTime(ref t);
Console.WriteLine(v.ToString());
}
scocsdn 2004-12-10
  • 打赏
  • 举报
回复
看一下这个API函数
GetTimeZoneInformation //取得与系统时区设置有关的信息
用C#调用它

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧