如何在C#中以编程方式在本地机器上设置Windows时区?使用交互式工具不是一种选择,因为远程单元没有用户界面或用户。远程机器正在运行.NET 2.0和Windows XP Embedded以及一个本地应用程序,该应用程序与中央服务器(通过Web服务)进行通信,以实现自动执行任务的方向。我们可以提供一个命令以同步到某个时间/区域组合,但是可以在本地应用程序中放置哪些代码来完成更改?在安装之前,设备没有为特定位置成像,因此为了在任何位置使用任何设备,我们必须能够同步这些信息。在C#中远程设置时区
回答
SetTimeZoneInformation应该做你所需要的。你需要使用P/Invoke来解决它。
还要注意,您需要拥有并启用SE_TIME_ZONE_NAME权限。
尝试......
首先,你需要找到,在注册表中,代表您要该区域的关键(“中央标准时间”就是一个例子)。这些都坐落在这里:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows NT \当前版本\ Time区域
因此,考虑到这一点,创建一个批处理文件, “SetTimeZone.bat” 与在它下面的行:
RUNDLL32 SHELL32.DLL,Control_RunDLL%SYSTEMROOT%\ SYSTEM32 \ TIMEDATE.cpl ,,/Z%1
从C# ,请致电:
System.Diagnostics.Process.Start(“SetTimeZone.bat”,“您要设置的时区密钥”);
如果您不使用UTC传输日期,那么您将面临有不正确数据的风险......如果您更改设备上的时区...您的日期将更加紧密。
您可能需要使用UTC,然后计算每个时区的时间。
这不是在Windows 7中工作,我曾尝试用以下的环境 Windows 7的 VSTS 2008 它打开更改时区窗口,因为我们做手工
而不是只需设置时区某些系统应该考虑使用Windows时间服务。它不仅会处理时区。它也会照顾正确的日期和时间设置。
看看:How to synchronize the time with the Windows Time service in Windows XP
即使你可能打算让内Vista或Windows所有这些设置7看看this here。
santosh 您确定无误。 RunDLL32 shell32.dll,Control_RunDLL%SystemRoot%\ system32 \ TIMEDATE。cpl ,,/Z%1 已被弃用多年,并且不会在Windows 2008,R2,Vista,7,... 上运行哦,是的,我注意到这个论坛似乎有一个识别输入密钥的完整错误。也许有一天程序员会解决这个问题。
- 1. 使用C#在远程计算机上设置日期,时间和时区#
- 2. 在PHP中设置时区
- 3. 在Tornado中设置时区
- 4. 设置时区
- 5. 设置时区
- 6. 设置时区
- 7. 在Jenkins/Git中设置远程追踪
- 8. 在DCOM中设置远程启动
- 9. 在倒计时中设置时区
- 10. Git远程URL:设置时出错
- 11. 远程处理设置超时
- 12. 如何在存储过程中设置日期时间时区
- 13. 服务器设置/远程设置
- 14. oozie时区设置
- 15. 设置时区mysql
- 16. Crontab:设置时区
- 17. MYSQL设置时区
- 18. 在Linux中设置系统时区
- 19. 错误在MySql中设置时区表
- 20. 如何在PHP中设置时区
- 21. 如何在Symfony2中设置时区
- 22. 如何在Crashlytics中设置时区?
- 23. 在symfony中设置默认时区
- 24. 在PHP中设置时区偏移量
- 25. 在Bootstrap文件中设置时区
- 26. DateTime.now未在Rails中设置时区
- 27. 如何在datetimepicker中设置时区?
- 28. 如何在gnuplot中设置时区?
- 29. 如何在Selenium Chromedriver中设置时区?
- 30. 设置Arduino远程连接