ISO 8601 时间格式之Duration转换成TimeSpan
2015-07-26 18:13
639 查看
资料url: http://www.w3.org/TR/xmlschema-2/#token
在XML 模式介绍中对datetype有个详细的介绍,由于最近工作涉及到其中的一种时间格式Duration,今天就着重记录一下这一种时间格式。
float,
double,duration,dateTime,time,date,gYearMonth,gYear,gMonthDay,gDay,gMonth,hexBinary,base64Binary,anyURI,QName,NOTATION
词汇表示规则:6维空间表示,分别指定格利高里年、月、日、时、分和秒。使用的是ISO 8610的扩展格式:PnYn MnDTnHnMnS。(n为整数或者是小数,P为不可省略的标识符,nY表示n年,nM表示n月,nD表示n天,T表示日期和时间的分隔符,nH表示n小时,nM表示n分钟,nS表示n秒(秒可以是任意精度的小数))
注意事项:
如果年、月、日、时、分或者秒的等于0的,则相应的标识符可以省略掉,但是,至少存在一个数字和它的标识符;
S的值可能是小数;
只有当Time部分所有的元素都没有的时候,T标识符才必须要省略
P标识符必须存在
例子:
P1Y2M3DT10H30M:持续时间为1年,两月,3天,10小时,30分钟。
P134Y:持续134年;
P1347M(或者P0Y1347M,P0Y1347M0D):持续1347月;
P1Y2MT2H:持续1年2月2小时;
-P120D: 减去120天;
P-1347M:错误;
P1Y2MT:错误。
在XML 模式介绍中对datetype有个详细的介绍,由于最近工作涉及到其中的一种时间格式Duration,今天就着重记录一下这一种时间格式。
原始数据类型
string,boolean,decimal,float,
double,duration,dateTime,time,date,gYearMonth,gYear,gMonthDay,gDay,gMonth,hexBinary,base64Binary,anyURI,QName,NOTATION
Duration
定义:持续的时间。词汇表示规则:6维空间表示,分别指定格利高里年、月、日、时、分和秒。使用的是ISO 8610的扩展格式:PnYn MnDTnHnMnS。(n为整数或者是小数,P为不可省略的标识符,nY表示n年,nM表示n月,nD表示n天,T表示日期和时间的分隔符,nH表示n小时,nM表示n分钟,nS表示n秒(秒可以是任意精度的小数))
注意事项:
如果年、月、日、时、分或者秒的等于0的,则相应的标识符可以省略掉,但是,至少存在一个数字和它的标识符;
S的值可能是小数;
只有当Time部分所有的元素都没有的时候,T标识符才必须要省略
P标识符必须存在
例子:
P1Y2M3DT10H30M:持续时间为1年,两月,3天,10小时,30分钟。
P134Y:持续134年;
P1347M(或者P0Y1347M,P0Y1347M0D):持续1347月;
P1Y2MT2H:持续1年2月2小时;
-P120D: 减去120天;
P-1347M:错误;
P1Y2MT:错误。
Duration顺序关系
<> means that the order relation is indeterminate.Relation | ||||||
---|---|---|---|---|---|---|
P1Y | > P364D | <> P365D | <> P366D | < P367D | ||
P1M | > P27D | <> P28D | <> P29D | <> P30D | <> P31D | < P32D |
P5M | > P149D | <> P150D | <> P151D | <> P152D | <> P153D | < P154D |
C#转换成TimeSpan
var timespan= System.Xml.XmlConvert.ToTimeSpan(P5M10D);
相关文章推荐
- 变步长的 MPPT
- 平衡二叉树调整
- CDOJ 481 Apparent Magnitude 水题
- java—单例设计模式
- Intent的跳转和传值
- linux多线程驱动中调用udelay()对整个系统造成的影响(by liukun321咕唧咕唧)
- 第二章 操作系统概述
- Mahout学习二--kmeans实例
- 关于Posix的消息队列
- 数据A左移8位到数据B
- 谨慎 !不在同一个函数时,其中参数不可以直接引用!
- BZOJ 1053 反素数ant
- c#利用regex获取字符串中汉字的个数
- Veriog_Notes_Chapter 6
- SecureCRT 连接本地linux虚拟机(二)
- 二叉树的先序,中序,后序遍历的非递归算法
- poj 2777 线段树(区间染色)
- 虚拟机类加载机制
- .net混淆、反编译工具调查
- C# Winform应用程序占用内存较大解决方法整理(转)