小编H27*_*dio的帖子

有没有办法让DateTime.IsDaylightSavingTime在具有GMT/UTC时间的机器上工作?

我试图知道是否有办法让DateTime对象在设置为GMT时间的操作系统上获得所有正确的属性.不只是改变时间.

现在我正在做的是:

DateTime f = new DateTime(2012, 8, 1); //A date on summer

DateTime f2 = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(f, TimeZoneInfo.Local.Id, "Central Europe Standard Time");

var isSummer = f2.IsDaylightSavingTime(); //It always returns false if the OS is on GMT
Run Code Online (Sandbox Code Playgroud)

它改变了时间和日期,使GMT成为中欧标准时间就好了,但IsDaylightSavingTime功能不会起作用.它总是返回false,因为我在系统上使用GMT,但我认为不应该因为我DateTime为中欧创建了一个.

有没有办法让DateTime对象f2真正本地化并让它理解如果它的八月并且是欧洲中心它应该返回true而不是false?

我知道如果我在机器上使用本地时间它可以正常工作,但我无法改变服务器上的GMT时间.我很乐意,但我不能.:-)

.net c# datetime

4
推荐指数
1
解决办法
7695
查看次数

标签 统计

.net ×1

c# ×1

datetime ×1