zoukankan      html  css  js  c++  java
  • .netframework3.5 中TimeZoneInfo 类的使用

    .net famework3.5中新增加了一个关于时区的静态类,可以使得我们方便的操作与时区相关的信息

    下面的内容是摘自MSDN的信息,注意:这个类是Beta2中的类,至于Release后是否改变还不知道。由于电脑中没有安装英文正式版的MSDN,所以只能复制MSDN上的内容敬请谅解!


    最下面的代码在英文正式版上调试的

    时区是使用同一时间的地理区域。

    TimeZoneInfo 扩展了 TimeZone 类,后者提供的是有限的功能。TimeZone 类只识别本地时区,但可以在协调世界时 (UTC) 和本地时间之间转换时间。TimeZoneInfo 对象可以表示任意时区,且 TimeZoneInfo 类的方法可用于将一个时区的时间转换为其他任意时区的相应时间。TimeZoneInfo 类的成员支持以下操作:

    检索操作系统已定义的时区。

    枚举系统上可用的时区。

    在不同时区之间转换时间。

    创建操作系统尚未定义的新时区。

    序列化时区,供以后检索使用。

    注意:
    TimeZoneInfo 类的实例是不可变的。一旦实例化对象后,就无法修改其值。
     

    您不能使用 new 关键字实例化 TimeZoneInfo 对象。相反,您必须调用下表所示的 TimeZoneInfo 类的静态成员之一。

    静态成员名
     说明
     
    CreateCustomTimeZone 方法
     使用应用程序提供的数据创建自定义时区。
     
    FindSystemTimeZoneById 方法
     根据时区的标识符实例化在系统注册表中定义的时区。
     
    FromSerializedString 方法
     反序列化一个字符串值,以重新创建先前已序列化的 TimeZoneInfo 对象。
     
    GetSystemTimeZones 方法
     返回 TimeZoneInfo 对象的可枚举的 ReadOnlyCollection<(Of <(T>)>),它表示本地系统上可用的所有时区。
     
    Local 属性
     实例化表示本地时区的 TimeZoneInfo 对象。
     
    Utc 属性
     实例化表示 UTC 时区的 TimeZoneInfo 对象。
     

    可以使用 CreateCustomTimeZone 方法创建在本地系统注册表中未定义的时区。然后可使用 ToSerializedString 属性将时区对象的信息保存为字符串,该字符串可以以应用程序可访问的某种格式存储。使用 FromSerializedString 方法可将序列化字符串转换回 TimeZoneInfo 对象。

    下面是在英文正式版的代码

      //本地时区信息
                TimeZoneInfo t=TimeZoneInfo.Local;
                Console.WriteLine(t.DaylightName+" ");
                Console.WriteLine(t.DisplayName + " ");
                Console.WriteLine(t.Id + " ");
                Console.WriteLine(t.StandardName + " ");
                Console.WriteLine(t.SupportsDaylightSavingTime.ToString() + " ");
                Console.WriteLine(t.ToSerializedString() + " ");
                Console.ReadLine();

                System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> info = TimeZoneInfo.GetSystemTimeZones();
                Console.WriteLine("以下是所有的时区列表"+" ");
                for (int i=0; i < info.Count; i++)
             ..{
                    Console.WriteLine(info[i].ToString());
                }
                Console.ReadLine();
    以下是运行的结果:

    中国夏季时间

    (GMT+08:00) 北京,重庆,香港特别行政区,乌鲁木齐

    China Standard Time

    中国标准时间

    False

    China Standard Time;480;(GMT+08:00) 北京,重庆,香港特别行政区,乌鲁木齐;中国标
    准时间;中国夏季时间;;


    以下是所有的时区列表

    (GMT) 卡萨布兰卡,蒙罗维亚,雷克雅未克
    (GMT) 格林威治标准时间: 都柏林, 爱丁堡, 伦敦, 里斯本
    (GMT+01:00) 中非西部
    (GMT+01:00) 布鲁塞尔,哥本哈根,马德里,巴黎
    (GMT+01:00) 萨拉热窝,斯科普里,华沙,萨格勒布
    (GMT+01:00) 贝尔格莱德,布拉迪斯拉发,布达佩斯,卢布尔雅那,布拉格
    (GMT+01:00) 阿姆斯特丹,柏林,伯尔尼,罗马,斯德哥尔摩,维也纳
    (GMT+02:00) 哈拉雷,比勒陀利亚
    (GMT+02:00) 安曼
    (GMT+02:00) 开罗
    (GMT+02:00) 明斯克
    (GMT+02:00) 温得和克
    (GMT+02:00) 耶路撒冷
    (GMT+02:00) 贝鲁特
    (GMT+02:00) 赫尔辛基,基辅,里加,索非亚,塔林,维尔纽斯
    (GMT+02:00) 雅典,布加勒斯特,伊斯坦布尔
    (GMT+03:00) 内罗毕
    (GMT+03:00) 巴格达
    (GMT+03:00) 科威特,利雅得
    (GMT+03:00) 第比利斯
    (GMT+03:00) 莫斯科,圣彼得堡, 伏尔加格勒
    (GMT+03:30) 德黑兰
    (GMT+04:00) 埃里温
    (GMT+04:00) 巴库
    (GMT+04:00) 阿布扎比,马斯喀特
    (GMT+04:00) 高加索标准时间
    (GMT+04:30) 喀布尔
    (GMT+05:00) 伊斯兰堡,卡拉奇,塔什干
    (GMT+05:00) 叶卡捷琳堡
    (GMT+05:30) 斯里哈亚华登尼普拉
    (GMT+05:30) 马德拉斯,加尔各答,孟买,新德里
    (GMT+05:45) 加德满都
    (GMT+06:00) 阿拉木图,新西伯利亚
    (GMT+06:00) 阿斯塔纳,达卡
    (GMT+06:30) 仰光
    (GMT+07:00) 克拉斯诺亚尔斯克
    (GMT+07:00) 曼谷,河内,雅加达
    (GMT+08:00) 伊尔库茨克,乌兰巴图
    (GMT+08:00) 北京,重庆,香港特别行政区,乌鲁木齐
    (GMT+08:00) 台北
    (GMT+08:00) 吉隆坡,新加坡
    (GMT+08:00) 珀斯
    (GMT+09:00) 大坂,札幌,东京
    (GMT+09:00) 汉城
    (GMT+09:00) 雅库茨克
    (GMT+09:30) 达尔文
    (GMT+09:30) 阿德莱德
    (GMT+10:00) 关岛,莫尔兹比港
    (GMT+10:00) 堪培拉,墨尔本,悉尼
    (GMT+10:00) 布里斯班
    (GMT+10:00) 符拉迪沃斯托克
    (GMT+10:00) 霍巴特
    (GMT+11:00) 马加丹,索罗门群岛,新喀里多尼亚
    (GMT+12:00) 奥克兰,惠灵顿
    (GMT+12:00) 斐济,堪察加半岛,马绍尔群岛
    (GMT+13:00) 努库阿洛法
    (GMT-01:00) 亚速尔群岛
    (GMT-01:00) 佛得角群岛
    (GMT-02:00) 中大西洋
    (GMT-03:00) 巴西利亚
    (GMT-03:00) 布宜诺斯艾利斯,乔治敦
    (GMT-03:00) 格陵兰
    (GMT-03:00) 蒙得维的亚
    (GMT-03:30) 纽芬兰
    (GMT-04:00) 圣地亚哥
    (GMT-04:00) 大西洋时间(加拿大)
    (GMT-04:00) 拉巴斯
    (GMT-04:00) 马瑙斯
    (GMT-04:30) 加拉加斯
    (GMT-05:00) 东部时间(美国和加拿大)
    (GMT-05:00) 印地安那州(东部)
    (GMT-05:00) 波哥大,利马,里奥布朗库
    (GMT-06:00) 中美洲
    (GMT-06:00) 中部时间(美国和加拿大)
    (GMT-06:00) 瓜达拉哈拉,墨西哥城,蒙特雷(新)
    (GMT-06:00) 瓜达拉哈拉,墨西哥城,蒙特雷(旧)
    (GMT-06:00) 萨斯喀彻温
    (GMT-07:00) 亚利桑那
    (GMT-07:00) 奇瓦瓦,拉巴斯,马扎特兰(新)
    (GMT-07:00) 奇瓦瓦,拉巴斯,马萨特兰(旧)
    (GMT-07:00) 山地时间(美国和加拿大)
    (GMT-08:00) 太平洋时间(美国和加拿大)
    (GMT-08:00) 蒂华纳,下加利福尼亚州
    (GMT-09:00) 阿拉斯加
    (GMT-10:00) 夏威夷
    (GMT-11:00) 中途岛,萨摩亚群岛
    (GMT-12:00)日界线西

  • 相关阅读:
    Sharepoint 2013默认dll部署位置
    Sharepoint 2010 Form认证自定义登录页面,总是自动登录问题
    cocos打包后页面在ios浏览器、安卓钉钉等部分app中横竖屏问题
    cocos构建出来的 Web Mobile 项目在微信开发者工具里面无法点击
    git 合并某个提交commit到指定的分支上
    cc.sys.localStorage存储和读取用户数据
    cocos creater关于blend,关于预乘premultiply alpha,关于图片白边灰边的问题
    cocos遮罩层点击穿透问题解决
    postman中 form-data、x-www-form-urlencoded、raw、binary操作
    ‘webpack-dev-server' 不是内部或外部命令,也不是可运行的程序
  • 原文地址:https://www.cnblogs.com/lds85930/p/1536078.html
Copyright © 2011-2022 走看看