最近在工作中遇到需要修改系统时区的问题,系统是嵌入式WinCE系统,虽说WinCE系统用户可以直接通过操作系统改系统时区,但我们嵌入式产品的设计是开机直接打开软件而禁止用户访问WinCE桌面,所以开发人员要在应用软件上实现设置时区功能。我们的应用软件是C#开发的,但我没找到C#查看全部时区和设置时区的接口,只有一个获取当前时区的接口。但我在网上找到了用命令行设置时区的方法,而C#可以直接调用命令行。

打开windows命令行,tzutil /g查看当前时区,tzutil /g列出所有可用时区,tzutil /s 设置时区。用C#调用命令行调用tzutil /g后会获得一个命令行输出的字符串,自己可以写一个类存储得到的可用时区,然后展示在界面上,下面附上C#调用命令行流程。

//要执行的命令
string strInput = "";
Process p = new Process();
//设置要启动的应用程序
p.StartInfo.FileName = "cmd.exe";
//是否使用操作系统shell启动
p.StartInfo.UseShellExecute = false;
// 接受来自调用程序的输入信息
p.StartInfo.RedirectStandardInput = true;
//输出信息
p.StartInfo.RedirectStandardOutput = true;
// 输出错误
p.StartInfo.RedirectStandardError = true;
//不显示程序窗口
p.StartInfo.CreateNoWindow = true;
//启动程序
p.Start();
//向cmd窗口发送输入信息
p.StandardInput.WriteLine(strInput + "&exit");
p.StandardInput.AutoFlush = true;
//获取输出信息
string strOuput = p.StandardOutput.ReadToEnd();
//等待程序执行完退出进程
p.WaitForExit();
p.Close();
Console.WriteLine(strOuput);

最近在工作中遇到需要修改系统时区的问题,系统是嵌入式WinCE系统,虽说WinCE系统用户可以直接通过操作系统改系统时区,但我们嵌入式产品的设计是开机直接打开软件而禁止用户访问WinCE桌面,所以开发人员要在应用软件上实现设置时区功能。我们的应用软件是C#开发的,但我没找到C#查看全部时区和设置时区的接口,只有一个获取当前时区的接口。但我在网上找到了用命令行设置时区的方法,而C#可以直接调用命令行。 打开windows命令行,tzutil /g查看当前时区,tzutil /g列出...
由于工作需要我们有时常常需要转化当地时间为其它 时区 的时间,或是把某一个 时区 的时间,转成另一个 时区 。 最近由于用了一些 C# 的方法,下面小结一下,省得过后自已又忘了。 1。 用如下的方法,可以得到所有的 时区 信息。 TimeZoneInfo.GetSystemTimeZones() 2。得到 时区 ID TimeZoneInfo.GetSystemTimeZones()[75].ID
如果 系统 不考虑全球化的话,那么我们不用考虑 时区 的问题,因为我们可以认为中国境内的计算机全部用的是北京时间。 1. 时区 的来源和划分 地球自转一圈是360度,共24小时,所以1小时15度,即:15度就是1个 时区 。 国际定义了本初子午线(0度经线)的位置在英国伦敦格林尼治天文台,自然世界时(UTC)也是指的格林尼治天文台(GMT)那里的时间。 认为北京处在东经120度线上,也就是东八区上,所以北京相比UTC时间有8个小时的时差。 由于地球自西向东转,所以北京比格林尼治最先接触阳光,自然就认为北京的
我们公司的产品主要的客户在欧美地区,所以经常涉及到根据 时区 切换时间.所以花点时间研究这块问题。 前提:数据库时间字段(datetime),入库时最好选择UTC时间。方便后期根据不同地区的客户进行时间的转换。 话不多说,直接上代码。 1.首先,sql server提供了GETUTCDATE 这个时间函数,可以获取当前utc时间。 2. .NET 中提供了TimeZoneInfo,提供了一些方法用于 时区 的转换 3. 第三方的NetGet包:TimeZoneConverter Codes: using Syst
这里是 设置 成 北京 时区 ,如果需要 设置 成其他 时区 ,需要读取注册表“"Software\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones\\" + timeZoneKeyName”下的信息。 对于xp、windows server 2003调用的是SetTimeZoneInformation win32 api 对于其他高版本需要调用SetDynamicTimeZoneInformation。
该命令将显示 系统 的日期、时间和 时区 信息。需要注意的是,该命令需要root权限才能执行。 另外,您还可以编辑文件`/etc/timezone`来查看 系统 时区 设置 。该文件中包含了 系统 当前的 时区 设置 。 2. Windows 系统 在Windows 系统 上,可以使用以下步骤来查看 系统 时区 : (1)打开控制面板。 (2)选择“日期和时间”。 (3)选择“更改 时区 设置 ”。 (4)在弹出的对话框中,可以看到当前 系统 时区 设置 。 需要注意的是,Windows 系统 可能会根据地理位置和夏令时等因素自动调整 时区 设置 。如果您需要保持 时区 设置 不变,可以将其 设置 为具体的 时区