C# 中获取时区列表
- c#中获取时区列表 下面方法获得的仅仅用来显示和使用,无法用来进行时间转换。
public static List<DisplayTimeZone> GetSystemTimeZones()
{
List<DisplayTimeZone> list = new List<DisplayTimeZone>(); PermissionSet set = new PermissionSet(PermissionState.None);
set.AddPermission(new RegistryPermission(RegistryPermissionAccess.Read, @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones"));
set.Assert();
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones", RegistryKeyPermissionCheck.Default, RegistryRights.ExecuteKey))
{
if (key != null)
{
foreach (string str in key.GetSubKeyNames())
{
DisplayTimeZone timeZone = null;
Exception e = null;
TryGetTimeZone(str, out timeZone, out e);
if (timeZone != null)
{
list.Add(timeZone);
}
}
}
}
return list;
} private static void TryGetTimeZone(string id, out DisplayTimeZone value, out Exception e)
{
e = null;
value = new DisplayTimeZone();
try
{
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(string.Format(CultureInfo.InvariantCulture, @"{0}\{1}", new object[] { @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones", id }), RegistryKeyPermissionCheck.Default, RegistryRights.ExecuteKey))
{
value.DisplayName = key.GetValue("Display", string.Empty, RegistryValueOptions.None) as string;
value.StandardName = key.GetValue("Std", string.Empty, RegistryValueOptions.None) as string;
value.DaylightName = key.GetValue("Dlt", string.Empty, RegistryValueOptions.None) as string;
}
}
catch (Exception ex)
{
e = ex;
value = null;
}
} public class DisplayTimeZone
{
public string StandardName;
public string DisplayName;
public string DaylightName;
}
C# 中获取时区列表的更多相关文章
- 简析Geoserver中获取图层列表以及各图层描述信息的三种方法
		文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 实际项目中需要获取到Geoserver中的图层组织以及各图层 ... 
- javascript和jquery中获取列表的索引
		网页中的图片预览一般都需要获取图片列表的索引,或则图片对应的标签的索引,以此达到点击相应的标签获取索引,显示相应的图片 列表有很多种表达的方式,一种是 <ul> <li>苹果& ... 
- 无法从项目中获取SSIS包的列表
		一直做的SSIS项目,突然在生成项目的时候没有反应,crtl + alt +o 提示:无法从项目中获取SSIS包的列表,发现是最近的包没有设计数据源, 解决思路:检查最近的包,挨个运行一遍,看看有没有 ... 
- 获取一个Assembly中的命名空间列表
		通过System.Reflection.Assembly类中提供的方法和属性不能直接获取组件中的命名空间列表.但有方法可以直接获得Assembly中的所有类型,我们便可以通过获取的类型来得到命名空间名 ... 
- 案例42-使用ajax获取crm中的客户列表
		1webcontent部分 1 修改menu.jsp代码 2 jsp/customer/list.jsp代码 <%@ page language="java" content ... 
- 根据start和limit从已有的数据列表中获取从start开始的limit个数据
		代码记录(需求:根据start和limit从已有的数据列表中获取从start开始的limit个数据) 已有的数据列表:这个数据列表是经过处理的,可能是在SQL查询时无法处理的如多条件排序,而排序条件需 ... 
- python3使用ConfigParser从配置文件中获取列表
		使用python3使用ConfigParser从配置文件中获取列表 testConfig.py #!/usr/bin/env python # coding=utf- __author__ = 'St ... 
- 在WPF的MVVM框架中获取下拉选择列表中的选中项
		文章概述: 本演示介绍怎样在WPF的MVVM框架中.通过数据绑定的方式获取下拉列表中的选中项.程序执行后的效果例如以下图所看到的: 相关下载(代码.屏幕录像):http://pan.baidu.com ... 
- linux在shell中获取时间
		linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今 ... 
随机推荐
- UIButton根据不同的状态设置layer
			这需要用到KVO,监听button的highlighted属性的变化,在监听回调里根据监听到得属性值设置layer 设置监听如下 [button addObserver:self forKeyPat ... 
- 解决中文乱码( jsp表单提交中文时出现乱码)
			有三种方法: 1.建立一个filter中文解决乱码 2.Struts2在struts.xml中修改默认的编码设定 3.用Spring解决中文乱码 4.直接在jsp中修改解决 1.建立一个filter解 ... 
- Java笔记:内部类
			1.把一个类放在另一类内部定义,这个定义在其他类里面的类就叫做内部类,包含内部类的类叫做外部类.内部类成员可以直接访问外部类的私有数据,但是外部类不能访问内部类的实现细节. 2.非静态内部类(没有st ... 
- JAVA小知识点-Finally和Return的执行关系
			如果Try和Catch中存在return语句的时候Finally内的语句是否会执行,执行的时候对结果又有什么影响呢?我写了个例子来试验这个问题: public static Map<String ... 
- 从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态
			一.文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostream派生而来,用于读写文件 二.打开文件 说 ... 
- 浅谈Web前端浏览器兼容问题
			对于兼容最近一直困扰我,以前写的代码只是针对高质量用户来使用 不考虑IE7,8 这样的浏览器 ,但是最近我开发的时候必须要兼容,大喊一声我曹,没有办法,自己来吧! 所谓的浏览器兼容性问题,是指因为不同 ... 
- HTTP协议----ETag
			Etag是URL的Entity Tag,用于标示URL对象是否改变,区分不同语言和Session等等.具体内部含义是服务器控制的,就像Cookie那样. 服务器首先产生ETag,服务器可在稍后使用它来 ... 
- Day1 老男孩python自动化运维课程学习笔记
			2017年1月7日老男孩python自动化运维课程正式开课 第一天学习内容: 上午 1.python语言的基本介绍 python语言是一门解释型的语言,与1989年的圣诞节期间,吉多·范罗苏姆为了在阿 ... 
- 用linux 命令 执行ci框架的方法
			最近要跑一个数据量比较大的脚本,刚开始在浏览器页面访问发行nginx 5.4 超时, 又不想去修改nginx的连接时间,只能在服务器执行了, 执行方法:进入到ci 的根目录:#php index.ph ... 
- Ubuntu16  64位安装steam, 并解决无法启动的问题
			直接用crtl+shift打开终端,运行下面的命令. sudo add-apt-repository multiverse sudo apt update sudo apt install steam ... 
