jjzjj

TimeZoneInfo

全部标签

c# - TimeZoneInfo.Local 与 TimeZoneInfo.FindSystemTimeZoneById

我一直在使用DateTime和TimeZoneInfo类,我使用以下代码遇到了一个有趣的结果:vardstStart=newDateTime(2013,3,10,2,0,0,DateTimeKind.Local);varresult=TimeZoneInfo.Local.IsDaylightSavingTime(dstStart);结果是False。我实际上会认为它会是True(夏令时从3月10日凌晨2:00开始)然后我使用FindSystemTimeZoneById尝试了类似的代码:varmyTimeZone=TimeZoneInfo.FindSystemTimeZoneById("

c# - 在 C# 中获取印度标准时间 (IST)?

当我使用DateTime.Now()函数显示我的系统日期时,它会给我系统日期和时间并且工作正常,但是当我尝试在我的服务器上运行此页面时它给了我在印度以外的服务器的日期时间但是我想在服务器上执行此页面时获取印度的时间。我知道可以通过CultureInfo类...任何建议.... 最佳答案 放:privatestaticTimeZoneInfoINDIAN_ZONE=TimeZoneInfo.FindSystemTimeZoneById("IndiaStandardTime");作为一个字段。然后,使用:DateTimeindianTi

c# - 围绕 utc 日期的问题 - TimeZoneInfo.ConvertTimeToUtc 导致日期更改

如果用户选择提前x小时的时区,我希望保存的日期会从屏幕上选择的日期发生变化。例如。他们从日历弹出窗口中选择UTC+2Athens和日期25/02/2016,然后记录的日期将是24/02/2016。我已经将推理范围缩小到这样一个事实,即所选日期时间被记录为例如25/02/201600:00:00并且有2小时的偏移量,这将它带到24/02/201622:00:00以前从未使用过时区或UTC日期/时间,这非常令人困惑。这是代码-oObject.RefDate=itTimeAndDate.ParseDateAndTimeNoUTCMap(Request,TextBox_RefDate.Text

c# - TimeZoneInfo 是否考虑 DST?

在时区之间转换时,C#是否考虑夏令时?我有一个源日期是伦敦当前时间,我想将其转换为我的时区(CET)。这是我正在使用的代码。DateTimetime=DateTime.ParseExact(timeString,"HH:mm",null);time=DateTime.SpecifyKind(time,DateTimeKind.Unspecified);//Convertittotherighttimezone.ItiscurrentlyinGMTTimeZoneInfogmt=TimeZoneInfo.FindSystemTimeZoneById("GMTStandardTime");

c# - 为什么 FindSystemTimeZoneById 找不到 GetSystemTimeZones 返回的某些时区?

我遇到了一个似乎无法解决的奇怪问题。当我在我的Win7x64机器上调用TimeZoneInfo.GetSystemTimeZones时,我得到了101个结果。当我对其中的每一个调用TimeZoneInfo.FindSystemTimeZoneById并传递TimeZoneInfo对象的StandardName属性时,其中3个抛出TimeZoneNotFoundException。这是一个示例:vartzs=TimeZoneInfo.GetSystemTimeZones();foreach(vartimeZoneInfointzs.OrderBy(t=>t.BaseUtcOffset))

c# - .NET 在给定时区的情况下将日期时间转换为 UTC

使用C#,我需要将传入的日期时间值转换为UTC。我知道.NET中有这些转换的功能,但我必须识别时区的是标准时区列表http://www.timegenie.com/timezones在.NET中执行此操作的最佳方法是什么?我是否需要创建映射表以将时区转换为TimeZoneInfo.GetSystemTimeZones()中的ID(例如“太平洋标准时间(墨西哥)”)这样我就可以使用TimeZoneInfo.FindSystemTimeZoneById()了?感谢您的帮助 最佳答案 我之前通过使用映射表将时区ID存储在数据库中来完成此操

c# - 如何获取 TimeZoneInfo 简称

有什么方法可以从中获取3个字符的代码系统.TimeZoneInfo.Local?例如EDT而不是东部夏令时等 最佳答案 不幸的是,据我所知,没有简单的内置方法可以做到这一点。但是,您可以自己组装一些东西。这是一个例子:publicstaticclassTimeZoneInfoExtensions{publicstaticstringAbbreviation(thisTimeZoneInfoSource){varMap=newDictionary(){{"easternstandardtime","est"},{"mountainst

c# - .Equals 上的 C# 泛型方法中的意外行为

为什么Equals方法返回的结果与泛型方法不同?我认为这里有一些我不明白的自动装箱。这是一个重现.net3.5或4.0行为的示例:staticvoidMain(string[]args){TimeZoneInfotzOne=TimeZoneInfo.Local;TimeZoneInfotzTwo=TimeZoneInfo.FindSystemTimeZoneById(tzOne.StandardName);Console.WriteLine(Compare(tzOne,tzTwo));Console.WriteLine(tzOne.Equals(tzTwo));}privatestat

c# - 从 .NET 设置系统时区

有没有人有一些代码可以从.NET获取TimeZoneInfo字段并执行互操作代码以通过SetTimeZoneInformation设置系统时区?我意识到它基本上是将TimeZoneInfo成员映射到结构成员,但对我来说这些字段将如何准确映射或者除了偏差之外我应该关心什么对我来说并不明显。 最佳答案 还有另一种方法可以做到这一点,诚然这有点hack,但在实践中效果很好:publicvoidSetSystemTimeZone(stringtimeZoneId){varprocess=Process.Start(newProcessSta

c# - 如何将日期时间转换为 C# 中的特定时区?

我需要帮助将DateTime转换为特定时区。我下面的内容无法正常工作。gmTime=03/02/20131:00:00AMTimeZoneInfotimeZone=TimeZoneInfo.FindSystemTimeZoneById("EasternStandardTime");vartime=timeZoneInfo.ConvertTime(gmTime,timeZone);当我调试time的值时,应用区域时应该是03/01/20138:00:00PM,它返回为03/02/2013凌晨1:00:00。如果我执行time.ToLocalTime()然后我得到正确的值。但是,我需要将t