常见时区缩写可参考:

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. PE/ELF文件里面存的是什么呢?

    malloc分配的空间是连续的吗?PE/ELF文件里面存的是什么呢?

  2. quartz定时任务cron表达式详解

    引用:https://www.cnblogs.com/lazyInsects/p/8075487.html cron表达式用于配置cronTrigger的实例.cron表达式实际上是由七个子表达式组成 ...

  3. idea导出可执行jar包

    一. 在菜单中选择 File->project structure. 二. 在弹出的窗口中左侧选中"Artifacts",点击"+"选择jar,然后选择& ...

  4. PyQt5学习笔记----标准文件打开保存框QFileDialog

    单个文件打开 QFileDialog.getOpenFileName()多个文件打开 QFileDialog.getOpenFileNames() 文件夹选取     QFileDialog.getE ...

  5. C++ 方阵原地旋转90度

    不额外申请内存(另外的一个二维数组空间),将一个方阵(二维数组)原地旋转90度,主要的思路是,由外向内,一圈圈的进行旋转(就是依次进行交换),如下图所示,当这些圈圈都交换完了之后,就完成了原地旋转了. ...

  6. Advising controllers with the @ControllerAdvice annotation

    The @ControllerAdvice annotation is a component annotation allowing implementation classes to be aut ...

  7. zedboard上首个驱动实践——Led

    // led驱动 *myled.c*//头文件 #include<linux/module.h> //最基本的文件,支持动态添加和卸载模块 #include<linux/kernel ...

  8. Machine Learning in action --LogisticRegession 逻辑回归

    本系列主要参考<机器学习实战>,使用python3编译环境,实现书中的相关代码. 1.基本算法 关于梯度上升算法和随机梯度上升算法的选择: 当数据集较小时,使用梯度上升算法: 当数据集较大 ...

  9. android打印日志封装

    public class LogUtils { static String className;//类名 static String methodName;//方法名 static int lineN ...

  10. Android支持全面屏设置

    在AndroidManifest的application里面设置resizeableActivity的属性为true <application android:name=".Compl ...