标准 DateTime 格式字符串

标准|字符串

标准 DateTime 格式字符串包含下表中的一个格式说明符字符。如果下表中没有该格式说明符,将引发运行时异常。如果格式字符串在长度上比单个字符长(即使多出的字符是空白),则格式字符串被解释为自定义格式字符串。

请注意,这些格式说明符产生的输出字符串受“区域选项”控制面板中的设置的影响。计算机的区域性设置或日期和时间设置不同,将生成不同的输出字符串。

格式字符串显示的时间和日期分隔符由与当前区域性的 DateTimeFormat 属性关联的 DateSeparator 和 TimeSeparator 字符定义。然而,如果 InvariantCulture 被“r”、“s”和“u”说明符引用,与 DateSeparator 和 TimeSeparator 字符关联的字符不随当前区域性更改。

下表描述了用来格式化 DateTime 对象的标准格式说明符。

格式说明符 名称 说明
d 短日期模式 显示由与当前线程关联的 DateTimeFormatInfo.ShortDatePattern 属性定义的模式或者由指定格式提供程序定义的模式。
D 长日期模式 显示由与当前线程关联的 DateTimeFormatInfo.LongDatePattern 属性定义的模式或者由指定格式提供程序定义的模式。
t 短时间模式 显示由与当前线程关联的 DateTimeFormatInfo.ShortTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。
T 长时间模式 显示由与当前线程关联的 DateTimeFormatInfo.LongTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。
f 完整日期/时间模式(短时间) 显示长日期和短时间模式的组合,由空格分隔。
F 完整日期/时间模式(长时间) 显示由与当前线程关联的 DateTimeFormatInfo.FullDateTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。
g 常规日期/时间模式(短时间) 显示短日期和短时间模式的组合,由空格分隔。
G 常规日期/时间模式(长时间) 显示短日期和长时间模式的组合,由空格分隔。
M 或 m 月日模式 显示由与当前线程关联的 DateTimeFormatInfo.MonthDayPattern 属性定义的模式或者由指定格式提供程序定义的模式。
R 或 r RFC1123 模式 显示由与当前线程关联的 DateTimeFormatInfo.RFC1123Pattern 属性定义的模式或者由指定格式提供程序定义的模式。这是定义的标准,并且属性是只读的;因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。属性引用 CultureInfo.InvariantCulture 属性并遵照自定义模式“ddd, dd MMM yyyy HH:mm:ss G\MT”。请注意,“GMT”中的“M”需要转义符,因此它不被解释。格式化并不修改 DateTime 的值,所以您必须在格式化之前将值调整为 GMT。
s 可排序的日期/时间模式;符合 ISO 8601 显示由与当前线程关联的 DateTimeFormatInfo.SortableDateTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。属性引用 CultureInfo.InvariantCulture 属性,格式遵照自定义模式“yyyy-MM-ddTHH:mm:ss”。
u 通用的可排序日期/时间模式 显示由与当前线程关联的 DateTimeFormatInfo.UniversalSortableDateTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。因为它是定义的标准,并且属性是只读的,因此无论区域性或格式提供程序是什么,模式总是相同的。格式化遵照自定义模式“yyyy-MM-dd HH:mm:ssZ”。格式化日期和时间时不进行时区转换;所以,请在使用格式说明符之前将本地日期和时间转换为通用时间。
U 通用的可排序日期/时间模式 显示由与当前线程关联的 DateTimeFormatInfo.FullDateTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。请注意,显示的时间是通用时间,而不是本地时间。
Y 或 y 年月模式 显示由与当前线程关联的 DateTimeFormatInfo.YearMonthPattern 属性定义的模式或者由指定格式提供程序定义的模式。
任何其他单个字符 未知说明符

下面的示例说明了标准格式字符串如何与 DateTime 对象一起使用。

[Visual Basic]
Dim dt As DateTime = DateTime.Now
Dim dfi As DateTimeFormatInfo = New DateTimeFormatInfo()
Dim ci As CultureInfo = New CultureInfo("de-DE")

' Make up a new custom DateTime pattern, for demonstration.
dfi.MonthDayPattern = "MM-MMMM, ddd-dddd"

' Use the DateTimeFormat from the culture associated
' with the current thread.

Console.WriteLine( dt.ToString("d") )
Console.WriteLine( dt.ToString("m") )

' Use the DateTimeFormat from the specific culture passed.
Console.WriteLine( dt.ToString("d", ci ) )

' Use the settings from the DateTimeFormatInfo object passed.
Console.WriteLine( dt.ToString("m", dfi ) )

' Reset the current thread to a different culture.
Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-BE")
Console.WriteLine( dt.ToString("d") )

[C#]
DateTime dt = DateTime.Now;
DateTimeFormatInfo dfi = new DateTimeFormatInfo();
CultureInfo ci = new CultureInfo("de-DE");

// Make up a new custom DateTime pattern, for demonstration.
dfi.MonthDayPattern = "MM-MMMM, ddd-dddd";

// Use the DateTimeFormat from the culture associated
// with the current thread.
Console.WriteLine( dt.ToString("d") );
Console.WriteLine( dt.ToString("m") );

// Use the DateTimeFormat from the specific culture passed.
Console.WriteLine( dt.ToString("d", ci ) );

// Use the settings from the DateTimeFormatInfo object passed.
Console.WriteLine( dt.ToString("m", dfi ) );

// Reset the current thread to a different culture.
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-BE");
Console.WriteLine( dt.ToString("d") );

请参见
格式化概述 | 格式化类型 | 日期与时间格式字符串 | 标准 DateTime 格式字符串输出示例

发送有关此主题的意见

2001-2002 Microsoft Corporation。保留所有权利。

时间: 2024-11-18 17:27:38

标准 DateTime 格式字符串的相关文章

标准数字格式字符串用法说明及举例

标准|字符串 // 标准数字格式字符串用法说明及举例class NumberFormat{  static void Main()  {    // {index[,alignment][:format]}    // index     - 从零开始的整数,指示对象列表中要格式化的元素.    // alignment - 可选整数,指示最小宽度,不足部分用空格填充.负数指示左对齐,正数指示右对齐.    // format    - 格式字符串.标准数字格式字符串采取"Axx"形式

请问怎么将String类型字符串转换为date类型。要求是yyyy-MM-dd HH:mm:ss 格式的时间类型,以便于以datetime格式存入数据库

问题描述 请问怎么将String类型字符串转换为date类型.要求是yyyy-MM-dd HH:mm:ss 格式的时间类型,以便于以datetime格式存入数据库? 问题补充:非常感谢,嗯,对的,反正我是取得用户输入的值,直接用String.不过你给的程序方法最终的d不是datetime型的,而是Thu Feb 24 15:34:28 CST 2011 ,怎么回事呢?斐斐宝贝 写道 解决方案 如果数据库是datetime类型,那么页面上可以把字符串转换: DateFormate df = new

《Java安全编码标准》一2.7 IDS06-J从格式字符串中排除用户输入

2.7 IDS06-J从格式字符串中排除用户输入 对Java格式字符串的解释要比对在像C语言这样的语言中更严格[Seacord 2005].当任何转换参数不能匹配相应的格式符时,标准类库实现会抛出一个相应的异常.这种方法降低了被恶意利用的可能性.然而,恶意用户输入可以利用格式字符串,并且造成信息泄露或者拒绝服务.因此,不能在格式字符串中使用非受信来源的字符串. 2.7.1 不符合规则的代码示例 这个不符合规则的代码示例展示了可能出现信息泄露的问题.它将信用卡的失效日期作为输入参数并将其用在格式字

SQL中也可以用格式字符串定制日期转字符串

这篇论坛文章(赛迪网技术社区)介绍了SQL Server利用格式字符串定制日期转换为字符串的具体方法,更多内容请参考下文: 在C#中用惯了DateTime.ToString("yyyy-MM-dd"),DateTime.ToString("MM/dd/yyyy")这种日期与字符串的转换方式,在SQL server中没得用,于是乎写了个FUNCTION,功能跟.net 中的DateTime.ToString("formatprovide")方法差不

JavaScript 格式字符串的应用_javascript技巧

经过一番设计,终于完成了这个功能.引入了这个js后,就可以自行配置格式字符串来输出各种自定义的日期格式了. 流程图 可以看出,所谓格式字符串,其实就是一个含有特定字符的字符串,然后根据其的实际意义替换成指定的值. 在本文中仅以Date对象作为示例,其实格式字符串的价值不仅于此.到底可以在什么情景下会使用格式字符串呢?希望您在本文的结尾处可以找到答案. 算法介绍 下面我将使用一个示例来说明格式字符串的算法.这个示例将格式化日期的"日"部分,例如2008-8-8,如果格式字符串是"

js将long日期格式转换为标准日期格式实现思路_javascript技巧

js将long日期格式转换为标准日期格式 复制代码 代码如下: <script language="javascript"> //扩展Date的format方法 Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), &q

SQL命令中DateTime格式参考

参考 SQL命令中DateTime格式大全 Code in C# :DateTime MyDate = DateTime.Now; sSQL = "Insert Into Article (Title,CreatedDate) Values ('New Title','" + MyDate.Format( "g", null ) + "')";格式字符参考表: Format characterDescriptionDefault return f

oracle文字与格式字符串不匹配的解决

症状:c/s程序本来运行正常,一次重装系统,重装oracle客户端后,insert日期格式数据,出现题目中错误. 解决办法: Oracle时间格式讨论 在网上看见不少oracle新学者对oracle的时间格式很烦,经常是设计了一个带时间字段的表之后,向表插入数据失败.回想起自己刚开始学习oracle时,也对这个时间格式摸不着头脑,虽然是小小的问题,高手们不屑于讨论,但对初学者来讲,这也是一个不大不小的坎,没找到门路的话, 可能几天都过不去,其实就是一层窗户纸,没什么难的.这里做一个简单的小结,因

C#中如何自定义数字格式字符串 ToString ###,###,###,##0

###,###,###,##0 #是如果有数字的话就显示,没数字的话是空:0是如果有数字的话就显示,没数字的话是显示为0. EG: public string GetFormateString(int Precision, double Number) { string text = "###,###,###,##0."; for (int i = 0; i < Precision; i++) { text += "0"; } return Number.To