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字节)+图片数据 ...
随机推荐
- 类Unix如何查看mysql的配置文件my.cnf
mysql 配置文件 my.cnf是MySQL启动时加载的配置文件,一般会放在MySQL的安装目录中,用户也可以放在其他目录加载. 安装MySQL后,系统中会有多个my.cnf文件,有些是用户测试的. ...
- 一种历史详细记录表,完整实现:CommonOperateLog 详细记录某用户、某时间、对某表、某主键、某字段的修改(新旧值
一种历史详细记录表,完整实现:CommonOperateLog 详细记录某用户.某时间.对某表.某主键.某字段的修改(新旧值). 特别适用于订单历史记录.重要财务记录.审批流记录 表设计: names ...
- mysql root看不到mysql表
1.首先停止mysql服务:service mysqld stop2.加参数启动mysql:/usr/bin/mysqld_safe --skip-grant-tables & 然后就可以无任 ...
- SRTP讨论
1.接下来任务如何分工? 2.接下来要完成哪些工作? 硬件上要完成哪些? 1)环境数据的采集(我) 2)对小车的控制(我) 3)路径规划(喻) 4)小车的避障(雷) 5)环境数据的处理融合(我) 6) ...
- 转:Web项目的WEB-INF目录使用说明以及重定向与转发
原文地址:https://www.cnblogs.com/shenxiaoquan/p/5819359.html 原文内容: 总结一下这篇文章的内容: WEB-INF下面的内容都是只能由服务器级别才能 ...
- jquery基础学习之DOM篇(二)
在此之前请牢记,jquery 是一个合集对象!!!! 1.节点创建 js创建方法: 创建元素:document.createElement 设置属性:setAttribute 添加文本:innerHT ...
- qt设计器中使用自定义控件
当qt设计器中的控件不能满足需要时,这时就要自定义控件.然后再在qt设计器中使用. 在qt设计器中使用自定义控件时,可以用提升. 从控件派生出新的类: 然后在qt设计器中右键需要提升的控件: 填入提升 ...
- 2017-2018-2 20165336 实验四《Android开发基础》实验报告
20165336 实验四 Android程序设计 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:康志强 学号:20165336 指导教师:娄嘉鹏 实验日期:2018年5月14日 实 ...
- 文件批量scp分发脚本
#!/bin/bash SERVERS="172.17.xx.y 172.17.pp.mm" PASSWORD=机器登录密码 auto_ssh_copy_file() { expe ...
- 对线程发送signal
学习对线程 发送 signal #include <stdio.h> #include <stdlib.h> #include <string.h> #includ ...