如标题。我想在我的计时器中添加一个时区。我试试这个:
int G = DateTime.Now.Kind;
但它抛出一个错误。我如何在 winforms 中检查时区?
您的代码不起作用,因为DateTime.Now.Kind
返回 aDateTimeKind
这是一个枚举,您必须将其显式转换为int
:
int G = (int)DateTime.Now.Kind;
或者:
DateTimeKind G = DateTime.Now.Kind;
但正如其他人所说,它不会返回时区。你应该使用:
TimeZone timeZone = TimeZone.CurrentTimeZone;
实际上,DateTime
不包含实时时区信息。
尝试使用TimeZone.CurrentTimeZone
属性而不是。
获取当前计算机的时区。
这是一个DEMO
.
另外,如果您真的对 .NET Framework 中的时区感兴趣,那么您真的应该阅读Coding Best Practices Using DateTime in the .NET Framework
我认为哪篇文章很棒。
DateTime.Kind
与时区无关。它是显示日期类型的枚举:Local, UTC,Uncpecified
。