常见时区缩写可参考:

http://time.123cha.com/knowledge/6.html

常见时区缩写如下:

  IDLE +12:00 国际日期变更线,东边 
  NZDT +13:00 新西兰夏时制 
  NZST +12:00 新西兰标准时间 
  NZT +12:00 新西兰时间 
  AESST +11:00 澳大利亚东部标准夏时制 
  ACSST +10:30 中澳大利亚标准夏时制 
  CADT +10:30 中澳大利亚夏时制 
  SADT +10:30 南澳大利亚夏时制 
  AEST +10:00 澳大利亚东部标准时间 
  EAST +10:00 东澳大利亚标准时间 
  GST +10:00 关岛标准时间,俄罗斯时区 9 
  LIGT +10:00 澳大利亚墨尔本 
  SAST +09:30 南澳大利亚标准时间 
  CAST +09:30 中澳大利亚标准时间 
  AWSST +09:00 澳大利亚西部标准夏时制 
  JST +09:00 日本标准时间,(俄罗斯时区 8) 
  KST +09:00 韩国标准时间 
  WDT +09:00 西澳大利亚夏时制
  SST +02:00 瑞典夏时制 
  BST +01:00 英国夏时制 
  CET +01:00 中欧时间
  FST +01:00 法国夏时制 
  MET +01:00 中欧时间 
  MEWT +01:00 中欧冬时制
  NDT -02:30 纽芬兰(Newfoundland)白昼时间
  ADT -03:00 大西洋白昼时间 
  AWT -03:00 (未知) 
  BRT -03:00 Brasilia 时间 
  NFT -03:30 纽芬兰(Newfoundland)标准时间 
  NST -03:30 纽芬兰(Newfoundland)标准时间 
  AST -04:00 大西洋标准时间(加拿大) 
  ACST -04:00 Atlantic/Porto Acre 夏令时 
  ACT -05:00 Atlantic/Porto Acre 标准时间 
  EDT -04:00 东部白昼时间 
  CDT -05:00 中部白昼时间 
  EST -05:00 东部标准时间 
  CST -06:00 中部标准时间 
  MDT -06:00 山区白昼时间 
  MST -07:00 山区标准时间 
  PDT -07:00 太平洋白昼时间 
  AKDT -08:00 阿拉斯加白昼时间 
  PST -08:00 太平洋标准时间 
  YDT -08:00 Yukon 白昼时间 
  AKST -09:00 阿拉斯加标准时间 
  HDT -09:00 夏威仪/阿拉斯加白昼时间 
  YST -09:00 Yukon 标准时 
  MART -09:30 马克萨司群岛时间 
  AHST -10:00 夏威夷-阿拉斯加标准时间
  HST -10:00 夏威夷标准时间 
  CAT -10:00 中阿拉斯加时间 
  NT -11:00 州时间(Nome Time) 
  IDLW -12:00 国际日期变更线,西边

那如何解析如 "IDLW -12:00" 这样的字符串呢,其实很简单,把代码贴在下面以做积累:

  /// <summary>
/// 从字符串转化timezone
/// </summary>
/// <param name="timezone">如: PST -08:00</param>
/// <returns></returns>
static bool TryParseTimezone(string timezone,out TimeSpan timeSpan)
{
if (string.IsNullOrEmpty(timezone))
{
Debug.Log("<color=red>timezone is empty</color>");
timeSpan = new TimeSpan();
return false;
} string[] words = timezone.Split(new char[] { ' ', ':' }, StringSplitOptions.RemoveEmptyEntries);
if (words.Length != )
{
Debug.Log("<color=red>timezone is not in right format like [KST +09:00], timezone: " + timezone + "</color>");
timeSpan = new TimeSpan();
return false;
} int hour;
if (!int.TryParse(words[].TrimStart('+', '-'), out hour))
{
Debug.Log("<color=red>timezone is not in right format like [KST +09:00], timezone: " + timezone + "</color>");
timeSpan = new TimeSpan();
return false;
} int minute;
if (!int.TryParse(words[], out minute))
{
Debug.Log("<color=red>timezone is not in right format like [KST +09:00], timezone: " + timezone + "</color>");
timeSpan = new TimeSpan();
return false;
} bool negative = words[].StartsWith("-");
hour = negative ? -hour : hour;
minute = negative ? -minute : minute;
timeSpan = new TimeSpan(hour, minute, );
return true;
}

TryParseTimezone

转载请注明出处:http://www.cnblogs.com/jietian331/p/6382630.html

c#如何解析时区字符串的更多相关文章

  1. js中解析json对象:JSON.parse()用于从一个字符串中解析出json对象, JSON.stringify()用于从一个对象解析出字符串。

    JSON.parse()用于从一个字符串中解析出json对象. var str = '{"name":"huangxiaojian","age&quo ...

  2. 使用 dynamic 标记解析JSON字符串 JDynamic :支持Json反序列化为Dynamic对象

    使用 dynamic 标记解析JSON字符串  http://www.cnblogs.com/taotaodetuer/p/4171327.html 1 string jsonStr = " ...

  3. 字串符相关 split() 字串符分隔 substring() 提取字符串 substr()提取指定数目的字符 parseInt() 函数可解析一个字符串,并返回一个整数。

    split() 方法将字符串分割为字符串数组,并返回此数组. stringObject.split(separator,limit) 我们将按照不同的方式来分割字符串: 使用指定符号分割字符串,代码如 ...

  4. jq 解析josn字符串

    1. var obj = jQuery.parseJSON("${ruleModel.rules}"); 2. var obj = eval("("+" ...

  5. json解析json字符串时候,数组必须对应jsonObjectArray,不能对应JsonObject。否则会解析错误。

    json第三方解析json字符串时候,json数组必须对应jsonObjectArray,不能对应JsonObject.->只要是[]开头的都是json数组字符串,就要用jsonArray解析 ...

  6. tinyXml直接解析XML字符串

    一直都用tinyxml直接LoadFile来解析XML,发现原来也可以直接解析XML字符串. XML文件: <?xml version=\"1.0\" encoding=\& ...

  7. C#解析JSON字符串总结

    JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串. 操作JSON通常有以下几种方式: 1. 原始方式:按照JSON字符串自己来解析. 2. 通用方式[★★★★★]: ...

  8. 《JS高级程序设计》笔记 —— 解析查询字符串

    今天在继续翻阅<JS高级程序设计>的时候,正好翻到location对象这一小节,其中有一部分就是讲的解析查询字符串.看到这个内容立马想到了做去哪儿秋招笔试题的时候有这么一道题. 去哪儿笔试 ...

  9. java实现解析二进制文件(字符串、图片)

    1.需求说明,实现细节要求: 解析二进制文件 files\case10\binary,其中包含一个字符串和一张图片,数据文件格式为字符串数据长度(2字节)+字符串内容+图片数据长度(4字节)+图片数据 ...

随机推荐

  1. 图->遍历

    文字描述 从图中某一顶点出发遍历图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫图的遍历. 深度优先搜索:类似树的先根遍历:假设初始状态下,图中所有顶点都未曾被访问,则从某个顶点出发,访问此顶点 ...

  2. LeetCode 852 Peak Index in a Mountain Array 解题报告

    题目要求 Let's call an array A a mountain if the following properties hold: A.length >= 3 There exist ...

  3. Python接口自动化【requests处理Token请求】

    首先说一下使用python模拟登录或注册时,对于带token的页面怎么登录注册模拟的思路: 1.对于带token的页面,需要先从最开始的页面获取合法token 2.然后使用获取到的合法token进行后 ...

  4. Java+selenium 如何下拉移动滚动条【实战】

    一.场景:在编写脚本过程中需要定位的元素,在界面的底部,需要拖拽下拉滚动条,再进行定位元素. 实现思路:用Selenium 里面的 scrollTo 方法实现 二.脚本示例: 1. 用例设计 @The ...

  5. MySQL InnoDB加锁超时回滚机制(转)

    add by zhj: 看来我对MySQL的理解还有待深入,水还是挺深的啊,MySQL给记录加锁时,可以通过innodb_lock_wait_timeout参数设置超时时间, 如果加锁等待超过这个时间 ...

  6. word2vec参数理解

    之前写了对word2vec的一些简单理解,实践过程中需要对其参数有较深的了解: class gensim.models.word2vec.Word2Vec(sentences=None,size=10 ...

  7. C# Asp.net中xml串与对象互相转换

    public class XmlUtil { #region 反序列化 /// <summary> /// 将XML字符串反序列化为对象 /// </summary> /// ...

  8. 10.5-uC/OS-III内部任务(时基任务OS-TickTask())

    几乎所有的实时系统都需要有一个能提供周期性时间的时间源,叫做时基周期或系统周期. uC/OS-III的时基周期处理程序封装在OS_TICK.C文件中. OS_TickTask()任务被uC/OS-II ...

  9. 前端 HTML body标签相关内容

    想要在网页上展示出来的内容一定要放在body标签中. 常用标签: 标题标签 h1-h6 段落标签 p标签 超链接标签 a标签 列表标签 ul,ol,li 定义列表<dl> 子标签 div ...

  10. larabbs安装教程

    LaraBBS 是一个简洁的论坛应用,使用 Laravel5.5 编写而成.https://github.com/summerblue/larabbs 1. 克隆源代码克隆 larabbs 源代码到本 ...