TimeZone 类来检索有关当前时区的信息,并将时间从本地时间转换为协调世界时 (UTC),也就是说这个类是用来处理LocalTimeZone和UTC时间的。
TimeZoneInfo类可以处理系统上预定义的任何时区、创建新时区,以及轻松地将日期和时间从一个时区转换到另一个时区。从微软的官方提示上我们可以看出,TimeZone 类基本已经被TimeZoneInfo类取代了。
这是我们可以用TimeZoneInfo来处理
public static DateTime? ToDateTime(long timestamp)
string ID = TimeZoneInfo.Local.Id;
DateTime start = new DateTime(1970, 1, 1) + TimeZoneInfo.Local.GetUtcOffset(DateTime.Now);
DateTime startTime = TimeZoneInfo.ConvertTime(start, TimeZoneInfo.FindSystemTimeZoneById(ID));
if(millisecond ){
startTime.AddMilliseconds(timestamp);
}else{
startTime.AddSeconds(timestamp);
var timeZoneInfoString = _user.TimeZoneInfoString;
if (!string.IsNullOrEmpty(timeZoneInfoString
对于一个开放于全球的网站或服务,在时间上的显示是一个问题,因为各个国家都会有所谓的时差,好在 .Net Framework 提供 TimeZoneInfo 类来解决这个问题。TimeZoneInfo 类的成员支持以下操作:检索操作系统已定义的时区。枚举系统上可用的时区。在不同时区之间转换时间。创建操作系统尚未定义的新时区。序列化时区,供以后检索使用。
一、计算机时间为什么都从1970年1月1日为起始
最初计算机操作系统是32位,而时间也是32为表示。Integer在java内用32位表示,因此32为能表示的最大值就是2147483647。另外一年365天的总秒数是31536000,2147483647/31536000=68.1,也
获取当地时间:
DateTime dt = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, TimeZoneInfo.Local);
DateTime dt1 = TimeZoneInfo.ConvertTimeFromUtc(dt, TimeZoneInfo.FindSystemTimeZoneById("Romance Standard Time"));//参数对应国家或者时区 ***对于有夏令时冬令时的区域,程序会自动调整**
string localID = TimeZoneInfo.Local.Id;
Debug.Log(localID);
DateTime StartDateTime = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1), TimeZoneInfo.FindSystemTimeZoneById("China Standard Time"));
DateTime StartDateTime.
通过设置正确的时区,我们能够确保应用程序与用户所在的时区保持一致,并正确地处理日期和时间。通过设置正确的时区,我们可以确保我们的应用程序能够正确地处理日期和时间,并与用户所在的时区保持一致。该类提供了许多与时区相关的方法和属性,使我们能够轻松地获取、设置和转换不同的时区信息。在实际开发中,我们可以根据用户的位置或其他需求来动态地设置时区,以确保应用程序能够正确地处理日期和时间。方法来打印当前系统所在的时区信息,可以看到输出结果为:当前系统时区:(UTC+08:00) 北京、重庆、香港特别行政区、乌鲁木齐。
由于工作需要我们有时常常需要转化当地时间为其它时区的时间,或是把某一个时区的时间,转成另一个时区。
最近由于用了一些C#的方法,下面小结一下,省得过后自已又忘了。
1。 用如下的方法,可以得到所有的时区信息。
TimeZoneInfo.GetSystemTimeZones()
2。得到时区ID
TimeZoneInfo.GetSystemTimeZones()[75].ID
后台处理:后台自定义一个中间件或拦截器,对处理后的请求做时间转换逻辑操作,将返回接口中的所有时间参数值转换成当前用户所在地区时区时间,实现全局的时区转换功能。前台处理:前台获取当前用户使用设备所在地区时区信息,并将相关时区信息设置在平台HTTP接口中,接口请求头添加请求参数如。其中,不同地区的用户访问平台时,所浏览的相关时间数据为当前地区所在的时区时间。前台处理:前台获取当前用户所在时区,对接口所返回的时间属性进行时区转换操作。后台处理:后台接口正常返回时间数据,即UTC时间,不做时区转换处理。