c#如何解析时区字符串
常见时区缩写可参考:
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#如何解析时区字符串的更多相关文章
- js中解析json对象:JSON.parse()用于从一个字符串中解析出json对象, JSON.stringify()用于从一个对象解析出字符串。
JSON.parse()用于从一个字符串中解析出json对象. var str = '{"name":"huangxiaojian","age&quo ...
- 使用 dynamic 标记解析JSON字符串 JDynamic :支持Json反序列化为Dynamic对象
使用 dynamic 标记解析JSON字符串 http://www.cnblogs.com/taotaodetuer/p/4171327.html 1 string jsonStr = " ...
- 字串符相关 split() 字串符分隔 substring() 提取字符串 substr()提取指定数目的字符 parseInt() 函数可解析一个字符串,并返回一个整数。
split() 方法将字符串分割为字符串数组,并返回此数组. stringObject.split(separator,limit) 我们将按照不同的方式来分割字符串: 使用指定符号分割字符串,代码如 ...
- jq 解析josn字符串
1. var obj = jQuery.parseJSON("${ruleModel.rules}"); 2. var obj = eval("("+" ...
- json解析json字符串时候,数组必须对应jsonObjectArray,不能对应JsonObject。否则会解析错误。
json第三方解析json字符串时候,json数组必须对应jsonObjectArray,不能对应JsonObject.->只要是[]开头的都是json数组字符串,就要用jsonArray解析 ...
- tinyXml直接解析XML字符串
一直都用tinyxml直接LoadFile来解析XML,发现原来也可以直接解析XML字符串. XML文件: <?xml version=\"1.0\" encoding=\& ...
- C#解析JSON字符串总结
JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串. 操作JSON通常有以下几种方式: 1. 原始方式:按照JSON字符串自己来解析. 2. 通用方式[★★★★★]: ...
- 《JS高级程序设计》笔记 —— 解析查询字符串
今天在继续翻阅<JS高级程序设计>的时候,正好翻到location对象这一小节,其中有一部分就是讲的解析查询字符串.看到这个内容立马想到了做去哪儿秋招笔试题的时候有这么一道题. 去哪儿笔试 ...
- java实现解析二进制文件(字符串、图片)
1.需求说明,实现细节要求: 解析二进制文件 files\case10\binary,其中包含一个字符串和一张图片,数据文件格式为字符串数据长度(2字节)+字符串内容+图片数据长度(4字节)+图片数据 ...
随机推荐
- 2016年蓝桥杯省赛A组c++第4题(算法填空)
/* 排序在各种场合经常被用到. 快速排序是十分常用的高效率的算法. 其思想是:先选一个“标尺”, 用它把整个队列过一遍筛子, 以保证:其左边的元素都不大于它,其右边的元素都不小于它. 这样,排序问题 ...
- Java 输入/输出——处理流(RandomAccessFile)
RandomAccessFile是Java输入/输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据.与普通的输入/输出流不同的是,Ra ...
- swf 文件解析
public class TagTypes { // Flash 1 tags public static const TAG_END:uint = 0; ...
- 关于学习oi的一些事项
我只是突然有感而发!(脑抽罢了 我其实是那种一直都没有计划说去学什么的人. 当然也不是那种点开洛谷一道题去写这道题不会就去学习相应的知识点的人. 随着洛谷 poj bzoj HDU CH Vojs 等 ...
- Aop的基本介绍
基本概念 通知 就是你想要的功能,也就是我们常说的安全.事物.日志等.先定义好这些,然后再想用的地方用一下.包含Aspect的一段处理代码 注意:其实这些功能(通知)并不是我们业务逻辑所必须的,只是 ...
- 洛谷P4570 [BJWC2011]元素 线性基
正解:线性基+贪心 解题报告: 传送门! 这题其实没什么好写题解的,,,显然贪心一下尽量选魔力大的,不用证明趴挺显然的来着 所以就直接按魔力排个序,插入线性基里面,能插就加个贡献,over 放下代码趴 ...
- Automation服务器不能创建对象(金税盘)
1. 安装防伪开票组件接口软件: 2. 把接口的注册文件放到%防伪开票系统的安装目录% \BIN下 3. 把%防伪开票系统的安装目录%\bin下的TaxCardX.dll文件复制至 c:\window ...
- oracle闪回的使用
1.闪回查询(原理:依赖于UNDO表空间)查询当前SCN号select current_scn from v$database;误删数据以后select * from table_name as of ...
- 张小龙2018PRO版微信公开课演讲全文 透露2018微信全新计划
大家好!我是张小龙.欢迎大家来到微信公开课. 刚刚出现的是我打游戏的画面,被大家看到了,那个不是我最好的水平,因为有点紧张,我最高分曾打到6000多分.当然我是练习了很久了,并不是我比大家更厉害,而是 ...
- OC常用控件封装
#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface CreateUI : NSObject ...