C# 学习笔记(二) 时间格式化字符串
1. 以下4种时间格式化符号输出的固定时间格式在各个区域设置中都应是相同的:
| 标准格式字符串 | 由 DateTimeFormatInfo.InvariantInfo 属性定义 | 自定义格式字符串 |
| “O”或“o” | 无 | yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzz |
| “R”或“r” | RFC1123Pattern | ddd, dd MMM yyyy HH':'mm':'ss 'GMT' |
| “s” | SortableDateTimePattern | yyyy'-'MM'-'dd'T'HH':'mm':'ss |
| “u” | UniversalSortableDateTimePattern | yyyy'-'MM'-'dd HH':'mm':'ss'Z' |
2. 通过DateTimeFormatInfo.GetAllDateTimePatterns(char)函数可以得到与标准格式化字符串对应的自定义格式字符串。
using System;
using System.Globalization; public class Example
{
public static void Main()
{
Console.WriteLine("'d' standard format string:");
foreach (var customString in DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns('d'))
//输出与“d"标准格式化字符对应的自定义格式化字符串
Console.WriteLine(" {0}", customString);
}
}
3. “d”标准格式说明符表示通过特定区域性的 DateTimeFormatInfo.ShortDatePattern 属性定义的自定义日期和时间格式字符串。
4. “D”标准格式说明符表示由当前的 DateTimeFormatInfo.LongDatePattern 属性定义的自定义日期和时间格式字符串。
5. “f”标准格式说明符表示长日期(“D”)和短时间(“t”)模式的组合,由空格分隔。
6. “F”标准格式说明符表示由当前的 DateTimeFormatInfo.FullDateTimePattern 属性定义的自定义日期和时间格式字符串。
7. “g”标准格式说明符表示短日期(“d”)和短时间(“t”)模式的组合,由空格分隔。
8. “G”标准格式说明符表示短日期(“d”)和长时间(“T”)模式的组合,由空格分隔。
9. “M”或“m”标准格式说明符表示由当前的 DateTimeFormatInfo.MonthDayPattern 属性定义的自定义日期和时间格式字符串。
10. “O”或“o”标准格式说明符表示使用保留时区信息的模式的自定义日期和时间格式字符串,并发出符合 ISO8601 的结果字符串。
1. 对于 DateTime 值,“O”或“o”标准格式说明符对应于“yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK”自定义格式字符串,对于 DateTimeOffset 值,“O”或“o”标准格式说明符则对应于“yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz”自定义格式字符串。
2. “O”或“o”标准格式说明符(和“yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK” 自定义格式字符串)利用 ISO 8601 表示时区信息的三种方式来保留 Kind 值的 DateTime 属性:
1. DateTimeKind.Local 日期和时间值的时区组件是相对于 UTC 的偏移量(例如,+01:00,-07:00)。 所有 DateTimeOffset 值也以这种格式表示。
2. DateTimeKind.Utc 日期和时间值的时区组件使用“Z”(它代表零偏移量)以表示 UTC。
3. DateTimeKind.Unspecified 日期和时间值没有时区信息。
3. 注意,如果你使用对应于“O”或“o”格式说明符的自定义格式字符串调用分析方法,则你不会获得与“O”或“o”相同的结果。 这是因为使用自定义格式字符串的分析方法不能分析缺少时区组件的日期和时间值的字符串表示形式,或使用“Z”指示 UTC
11. “R”或“r”标准格式说明符表示由 DateTimeFormatInfo.RFC1123Pattern 属性定义的自定义日期和时间格式字符串。 该模式反映已定义的标准,并且属性是只读的。 因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。 定义格式字符串为“ddd, dd MMM yyyy HH':'mm':'ss 'GMT'”。 当使用此标准格式说明符时,格式设置或分析操作始终使用固定区域性。
12. “s”标准格式说明符表示由 DateTimeFormatInfo.SortableDateTimePattern 属性定义的自定义日期和时间格式字符串。 该模式反映已定义的标准 (ISO 8601),并且属性是只读的。 因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。 自定义格式字符串为“yyyy'-'MM'-'dd'T'HH':'mm':'ss”。
13. “t”标准格式说明符表示由当前的 DateTimeFormatInfo.ShortTimePattern 属性定义的自定义日期和时间格式字符串。 例如,用于固定区域性的自定义格式字符串为“HH:mm”。
14. “T”标准格式说明符表示由特定区域性的 DateTimeFormatInfo.LongTimePattern 属性定义的自定义日期和时间格式字符串。 例如,用于固定区域性的自定义格式字符串为“HH:mm:ss”。
15. “u”标准格式说明符表示由 DateTimeFormatInfo.UniversalSortableDateTimePattern 属性定义的自定义日期和时间格式字符串。 该模式反映已定义的标准,并且属性是只读的。 因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。 自定义格式字符串为“yyyy'-'MM'-'dd HH':'mm':'ss'Z'”。 当使用此标准格式说明符时,格式设置或分析操作始终使用固定区域性。
16. “U”标准格式说明符表示由特定区域性的 DateTimeFormatInfo.FullDateTimePattern 属性定义的自定义日期和时间格式字符串。 此模式与“F”模式相同。 但是,在对 DateTime 值进行格式设置之前,该值自动转换为 UTC。
C# 学习笔记(二) 时间格式化字符串的更多相关文章
- redis 学习笔记二 (简单动态字符串)
redis的基本数据结构是动态数组 一.c语言动态数组 先看下一般的动态数组结构 struct MyData { int nLen; char data[0]; }; 这是个广泛使用的常见技巧,常用来 ...
- ECharts实例开发学习笔记二——时间轴
记录一下ECharts时间轴的使用,首先是照着官方的示例做一遍,在这里不要忘了引入timelineOption.js,后面介绍如何动态创建时间轴的记录数,即根据需求可伸缩显示有多少天或者年月等轴标记数 ...
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...
- python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法
python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0.zfill()方法语法:s ...
- Django学习笔记二
Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...
- JDBC学习笔记二
JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
随机推荐
- idea破解方式 附jar包
在安装了idea之后 去安装目录找到安装目录的 idea.exe.vmoptions 和 idea64.exe.vmoptions 两个文件在文件最后面追加上 -javaagent:C:/破解补丁的名 ...
- ifnull是个好东西
在进行数据与服务器的数据运算的时候(或者直接在sql中运算的时候),在新插入值的时候,可能会有null,这时如果进行运算,会报错,比如后台字段有totalminute,无论初始值怎么设置,在新建的时候 ...
- template(定义类的模板关键字)
template<typename T1> template<class T1> 在一般情况下二者使用方式是一样的,但有一个特例:就是当T1是一个类的时候,而这个类又有子类时候 ...
- php文件每隔几秒执行一次
说实话,linux 下面的crontab 任务完全可以实现所有的定时任务脚本,但是有些脚本只需要在一段时间内执行,过了这段时间之后,就不再执行定时脚本了.在使用crontab的时候,就需要人为的关闭掉 ...
- js面试题-数组去重
今天,在聊天群里看到数组去重的话题,面试者的答案如下: 参考答案如下: 程序员思维,做出如下测试: 未考虑到:1,‘1’是不同的,应该不去重 未考虑到对象 所以,参考答案只能去重基础类型 根据以往看过 ...
- 【PaddlePaddle系列】CIFAR-10图像分类
前言 本文与前文对手写数字识别分类基本类似的,同样图像作为输入,类别作为输出.这里不同的是,不仅仅是使用简单的卷积神经网络加上全连接层的模型.卷积神经网络大火以来,发展出来许多经典的卷积神经网络模型, ...
- Java的简单计算运用
上课的时候写的博客,哈哈哈哈没事情做了,明天就要放假了所以有点点按捺不住自己所以想到来写写程序,今天我发的是我们Java上课老师讲的代码,好像是Java的计算运用,但是这个代码有缺点,只能够输入的打出 ...
- (转)rpm2cpio和cpio
原文:https://blog.csdn.net/jubincn/article/details/6687550 rpm2cpio命令:将rpm格式的文件转为cpio格式的文件.rpm是linux中常 ...
- TP中使用laravel那一套验证
---恢复内容开始--- 1,tp5项目下新建一个extends目录,同时在入口文件index.php配置 define('EXTEND_PATH', '../extend/'); 结果: 2,加载l ...
- Postman安装及简介
Postman简介 不管web自动化测试还是APP自动化端,测试过程中都会涉及到接口测试.接口测试分为服务器端测试和客户端测试.今天给大家介绍一个测试服务器端的小工具--Postman.它可以构造各类 ...