首先庆祝一下 我竟然在这C#公司做了一年了还没被炒 然后在吐槽一下万恶的需求
本来今天的是要获取UTC时区的 花了1小时的时间去百度搜索,现在就来分享一下 结果吧!
发现C# 本身有一个System.TimeZoneInfo 该属性 当然也是通过微软的文档看到的,通过定义了一个List<TimeZoneInfo>(这里可能会打错了) 来存储,因为这里我要获取的是一个集合。好了这样就获取我们电脑里的UTC了 当然这时候 我将获取到的List拿来出来 因为我需要定义一个枚举来存储这些时区,我通过循环List将它每个值写入到Text文本中,当我打开存储的文本,我和我小伙伴惊呆了,中文全乱码了,好吧 我承认我不该花那么多的时间去搜索,无奈只好通过监视 来获取到所有List的值。当我屁颠屁颠说搞定了以后,“我记得有GMT时间比这个更精准” 好吧! 继续搞GMT 最后也花了一个小时谷歌到 一个网站 .....完了。可能你们会想到,是不是在写入的时候就已经乱码了,今天 上班 顺便把代码贴上吧:
Listt = TimeZoneInfo.GetSystemTimeZones().ToList(); var c = t; StreamWriter sw = File.CreateText("D:\\TestTest.txt"); string sLine = ""; List a = c.Select(n => n.BaseUtcOffset + " " + n.DaylightName + " " + n.DisplayName + ",").ToList(); try { for (int i = 0; i < a.Count(); i++) { sLine = a[i]; sw.WriteLine(sLine.ToString()); } } catch (Exception ex) { throw; }
差不多就这样了,我在ToString() 以后写入的不知道是不是这里引起 导致文本内的中文都乱码了