通常DataGrid显示的时间是如下格式的:2002-10-10 0:00:00
后面的0:00:00如果用不到也会显示出来,现在说说怎样解决。
在DataGrid
属性生成器-〉列-〉数据格式设置表达式->填写{0:d} //显示格式2002-10-10
如2002年只要显示02则可以用{0:yy-MM-dd}表示
属性生成器-〉列-〉数据格式设置表达式->填写{0:d} {0:hh} {0:mm} {0:ss}//显示格式2002-10-10 0:00:00
如果你给{0:ss}删掉就会只显示小时和分,以此类推。
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") );
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 属性定义的模式或者由指定格式提供程序定义的模式。显示的时间为通用时间而不是本地时间,等效于 DateTime 值。 |
Y 或 y | 年月模式 | 显示由与当前线程关联的 DateTimeFormatInfo.YearMonthPattern 属性定义的模式或者由指定格式提供程序定义的模式。 |
任何其他单个字符 | 未知说明符 |
|
当服务器是英文版,开发的机子是中文版的时候,用DataFormatString="{0:yyyy-MM-dd hh:mm:ss}"来格式化日期,要不当你要导入数据到Excel时,日期在Excel表格里是不能转换格式的。{0:d} {0:hh} {0:mm} {0:ss} 这种方式是不行的
//----------------------------------------------------------
标准 DateTime 格式字符串包含一个标准 DateTime 格式说明符字符,该字符表示自定义 DateTime 格式字符串。格式字符串最终定义由格式化操作产生的 DateTime 对象的文本表示形式。请注意,任何包含一个以上字母字符(包括空白)的 DateTime 格式字符串都被解释为自定义 DateTime 格式字符串。
标准 DateTime 格式说明符
下表描述了标准 DateTime 格式说明符。有关各格式说明符所产生输出的示例,请参见标准 DateTime 格式字符串输出示例。
格式说明符 | 名称 | 说明 |
---|---|---|
d | 短日期模式 | 表示由当前 ShortDatePattern 属性定义的自定义 DateTime 格式字符串。 例如,用于固定区域性的自定义格式字符串为“MM/dd/yyyy”。 |
D | 长日期模式 | 表示由当前 LongDatePattern 属性定义的自定义 DateTime 格式字符串。 例如,用于固定区域性的自定义格式字符串为“dddd, dd MMMM yyyy”。 |
f | 完整日期/时间模式(短时间) | 表示长日期 (D) 和短时间 (t) 模式的组合,由空格分隔。 |
F | 完整日期/时间模式(长时间) | 表示由当前 FullDateTimePattern 属性定义的自定义 DateTime 格式字符串。 例如,用于固定区域性的自定义格式字符串为“dddd, dd MMMM yyyy HH:mm:ss”。 |
g | 常规日期/时间模式(短时间) | 表示短日期 (d) 和短时间 (t) 模式的组合,由空格分隔。 |
G | 常规日期/时间模式(长时间) | 表示短日期 (d) 和长时间 (T) 模式的组合,由空格分隔。 |
M 或 m | 月日模式 | 表示由当前 MonthDayPattern 属性定义的自定义 DateTime 格式字符串。 例如,用于固定区域性的自定义格式字符串为“MMMM dd”。 |
o | 往返日期/时间模式 | 表示使用保留时区信息的模式的自定义 DateTime 格式字符串。该模式专用于往返 DateTime 格式(包括文本形式的 Kind 属性)。随后将 Parse 或 ParseExact 与正确的 Kind 属性值一起使用可以对格式化的字符串进行反向分析。 自定义格式字符串为“yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK”。 用于此说明符的模式是定义的标准。因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。 |
R 或 r | RFC1123 模式 | 表示由当前 RFC1123Pattern 属性定义的自定义 DateTime 格式字符串。该模式是定义的标准,并且属性是只读的。因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。 定义格式字符串为“ddd, dd MMM yyyy HH':'mm':'ss 'GMT'”。 格式化不会修改正在格式化的 DateTime 对象的值。因此,应用程序在使用此格式说明符之前必须将该值转换为协调世界时 (UTC)。 |
s | 可排序的日期/时间模式;符合 ISO 8601 | 表示由当前 SortableDateTimePattern 属性定义的自定义 DateTime 格式字符串。此模式是定义的标准,并且属性是只读的。因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。 自定义格式字符串为“yyyy'-'MM'-'dd'T'HH':'mm':'ss”。 |
t | 短时间模式 | 表示由当前 ShortTimePattern 属性定义的自定义 DateTime 格式字符串。 例如,用于固定区域性的自定义格式字符串为“HH:mm”。 |
T | 长时间模式 | 表示由当前 LongTimePattern 属性定义的自定义 DateTime 格式字符串。 例如,用于固定区域性的自定义格式字符串为“HH:mm:ss”。 |
u | 通用的可排序日期/时间模式 | 表示由当前 UniversalSortableDateTimePattern 属性定义的自定义 DateTime 格式字符串。此模式是定义的标准,并且属性是只读的。因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。 自定义格式字符串为“yyyy'-'MM'-'dd HH':'mm':'ss'Z'”。 格式化日期和时间时不进行时区转换。因此,应用程序在使用此格式说明符之前必须将本地日期和时间转换为协调世界时 (UTC)。 |
U | 通用的可排序日期/时间模式 | 表示由当前 FullDateTimePattern 属性定义的自定义 DateTime 格式字符串。 此模式与完整日期/长时间 (F) 模式相同。但是,格式化将作用于等效于正在格式化的 DateTime 对象的协调世界时 (UTC)。 |
Y 或 y | 年月模式 | 表示由当前 YearMonthPattern 属性定义的自定义 DateTime 格式字符串。 例如,用于固定区域性的自定义格式字符串为“yyyy MMMM”。 |
任何其他单个字符 | (未知说明符) | 未知说明符将引发运行时格式异常。 |
控制面板设置
控制面板中“区域和语言选项”项中的设置会影响由格式化操作产生的结果字符串。这些设置用于初始化与当前线程区域性关联的 DateTimeFormatInfo 对象,当前线程区域性将提供用于控制格式设置的值。使用不同设置的计算机会生成不同的结果字符串。
DateTimeFormatInfo 属性
格式化受当前 DateTimeFormatInfo 对象的属性影响,其由当前线程区域性隐式提供或由调用格式化的方法的 IFormatProvider 参数显示提供。为 IFormatProvider 参数指定一个表示区域性的 CultureInfo 对象或指定一个 DateTimeFormatInfo 对象。
许多标准 DateTime 格式说明符是由当前 DateTimeFormatInfo 对象的属性定义的格式化模式的别名。因此,应用程序通过更改相应的 DateTimeFormatInfo 属性可以改变由某些标准 DateTime 格式说明符产生的结果。
使用标准格式字符串
下面的代码段演示如何一起使用标准格式字符串和 DateTime 对象。
Dim dt As DateTime = DateTime.Now Dim dfi As DateTimeFormatInfo = New DateTimeFormatInfo() Dim ci As CultureInfo = New CultureInfo("de-DE") ' Create 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") ) ' Use a CultureInfo with a format specifier to parse a string. Dim culter As New CultureInfo("en-US") Dim myDateTime As DateTime myDateTime = DateTime.ParseExact("Tuesday, April 10, 2001", "D", culter) Console.WriteLine(myDateTime.ToString("D"))
DateTime dt = DateTime.Now; DateTimeFormatInfo dfi = new DateTimeFormatInfo(); CultureInfo ci = new CultureInfo("de-DE"); // Create 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") ); // Use a CultureInfo with a format specifier to parse a string. IFormatProvider culter = new CultureInfo("en-US"); DateTime myDateTime = DateTime.ParseExact("Tuesday, April 10, 2001", "D", culter); Console.WriteLine(myDateTime.ToString("D"));
示例
下面的代码示例使用线程当前区域性、指定区域性以及所有标准 DateTime 格式说明符对 DateTime 对象进行格式化。
' This code example demonstrates the ToString(String) and ' ToString(String, IFormatProvider) methods for the DateTime ' type in conjunction with the standard date and time ' format specifiers. Imports System Imports System.Globalization Imports System.Threading Class Sample Public Shared Sub Main() Dim msgShortDate As String = "(d) Short date: . . . . . . . " Dim msgLongDate As String = "(D) Long date:. . . . . . . . " Dim msgShortTime As String = "(t) Short time: . . . . . . . " Dim msgLongTime As String = "(T) Long time:. . . . . . . . " Dim msgFullDateShortTime As String = _ "(f) Full date/short time: . . " Dim msgFullDateLongTime As String = _ "(F) Full date/long time:. . . " Dim msgGeneralDateShortTime As String = _ "(g) General date/short time:. " Dim msgGeneralDateLongTime As String = _ "(G) General date/long time (default):" & vbCrLf & _ " . . . . . . . . . . . . . " Dim msgMonth As String = "(M) Month:. . . . . . . . . . " Dim msgRFC1123 As String = "(R) RFC1123:. . . . . . . . . " Dim msgSortable As String = "(s) Sortable: . . . . . . . . " Dim msgUniSortInvariant As String = _ "(u) Universal sortable (invariant):" & vbCrLf & _ " . . . . . . . . . . . . . " Dim msgUniSort As String = "(U) Universal sortable: . . . " Dim msgYear As String = "(Y) Year: . . . . . . . . . . " Dim msgRoundtripLocal As String = "(o) Roundtrip (local):. . . . " Dim msgRoundtripUTC As String = "(o) Roundtrip (UTC):. . . . . " Dim msgRoundtripUnspecified As String = "(o) Roundtrip (Unspecified):. " Dim msg1 As String = "Use ToString(String) and the current thread culture." & vbCrLf Dim msg2 As String = "Use ToString(String, IFormatProvider) and a specified culture." & vbCrLf Dim msgCulture As String = "Culture:" Dim msgThisDate As String = "This date and time: {0}" & vbCrLf Dim thisDate As DateTime = DateTime.Now Dim utcDate As DateTime = thisDate.ToUniversalTime() Dim unspecifiedDate As DateTime = new DateTime(2000, 3, 20, 13, 2, 3, 0, DateTimeKind.Unspecified) Dim ci As CultureInfo ' Format the current date and time in various ways. Console.Clear() Console.WriteLine("Standard DateTime Format Specifiers:" & vbCrLf) Console.WriteLine(msgThisDate, thisDate) Console.WriteLine(msg1) ' Display the thread current culture, which is used to format the values. ci = Thread.CurrentThread.CurrentCulture Console.WriteLine("{0,-30}{1}" & vbCrLf, msgCulture, ci.DisplayName) Console.WriteLine(msgShortDate & thisDate.ToString("d")) Console.WriteLine(msgLongDate & thisDate.ToString("D")) Console.WriteLine(msgShortTime & thisDate.ToString("t")) Console.WriteLine(msgLongTime & thisDate.ToString("T")) Console.WriteLine(msgFullDateShortTime & thisDate.ToString("f")) Console.WriteLine(msgFullDateLongTime & thisDate.ToString("F")) Console.WriteLine(msgGeneralDateShortTime & thisDate.ToString("g")) Console.WriteLine(msgGeneralDateLongTime & thisDate.ToString("G")) Console.WriteLine(msgMonth & thisDate.ToString("M")) Console.WriteLine(msgRFC1123 & utcDate.ToString("R")) Console.WriteLine(msgSortable & thisDate.ToString("s")) Console.WriteLine(msgUniSortInvariant & utcDate.ToString("u")) Console.WriteLine(msgUniSort & thisDate.ToString("U")) Console.WriteLine(msgYear & thisDate.ToString("Y")) Console.WriteLine(msgRoundtripLocal & thisDate.ToString("o")) Console.WriteLine(msgRoundtripUTC & utcDate.ToString("o")) Console.WriteLine(msgRoundtripUnspecified & unspecifiedDate.ToString("o")) Console.WriteLine() ' Display the same values using a CultureInfo object. The CultureInfo class ' implements IFormatProvider. Console.WriteLine(msg2) ' Display the culture used to format the values. ci = New CultureInfo("de-DE") Console.WriteLine("{0,-30}{1}" & vbCrLf, msgCulture, ci.DisplayName) Console.WriteLine(msgShortDate & thisDate.ToString("d", ci)) Console.WriteLine(msgLongDate & thisDate.ToString("D", ci)) Console.WriteLine(msgShortTime & thisDate.ToString("t", ci)) Console.WriteLine(msgLongTime & thisDate.ToString("T", ci)) Console.WriteLine(msgFullDateShortTime & thisDate.ToString("f", ci)) Console.WriteLine(msgFullDateLongTime & thisDate.ToString("F", ci)) Console.WriteLine(msgGeneralDateShortTime & thisDate.ToString("g", ci)) Console.WriteLine(msgGeneralDateLongTime & thisDate.ToString("G", ci)) Console.WriteLine(msgMonth & thisDate.ToString("M", ci)) Console.WriteLine(msgRFC1123 & utcDate.ToString("R", ci)) Console.WriteLine(msgSortable & thisDate.ToString("s", ci)) Console.WriteLine(msgUniSortInvariant & utcDate.ToString("u", ci)) Console.WriteLine(msgUniSort & thisDate.ToString("U", ci)) Console.WriteLine(msgYear & thisDate.ToString("Y", ci)) Console.WriteLine(msgRoundtripLocal & thisDate.ToString("o"), ci) Console.WriteLine(msgRoundtripUTC & utcDate.ToString("o"), ci) Console.WriteLine(msgRoundtripUnspecified & unspecifiedDate.ToString("o"), ci) Console.WriteLine() End Sub 'Main End Class 'Sample ' 'This code example produces the following results: ' 'Standard DateTime Format Specifiers: ' 'This date and time: 4/17/2006 2:29:09 PM ' 'Use ToString(String) and the current thread culture. ' 'Culture: English (United States) ' '(d) Short date: . . . . . . . 4/17/2006 '(D) Long date:. . . . . . . . Monday, April 17, 2006 '(t) Short time: . . . . . . . 2:29 PM '(T) Long time:. . . . . . . . 2:29:09 PM '(f) Full date/short time: . . Monday, April 17, 2006 2:29 PM '(F) Full date/long time:. . . Monday, April 17, 2006 2:29:09 PM '(g) General date/short time:. 4/17/2006 2:29 PM '(G) General date/long time (default): ' . . . . . . . . . . . . . 4/17/2006 2:29:09 PM '(M) Month:. . . . . . . . . . April 17 '(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:29:09 GMT '(s) Sortable: . . . . . . . . 2006-04-17T14:29:09 '(u) Universal sortable (invariant): ' . . . . . . . . . . . . . 2006-04-17 21:29:09Z '(U) Universal sortable: . . . Monday, April 17, 2006 9:29:09 PM '(Y) Year: . . . . . . . . . . April, 2006 '(o) Roundtrip (local):. . . . 2006-04-17T14:29:09.3011250-07:00 '(o) Roundtrip (UTC):. . . . . 2006-04-17T21:29:09.3011250Z '(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000 ' 'Use ToString(String, IFormatProvider) and a specified culture. ' 'Culture: German (Germany) ' '(d) Short date: . . . . . . . 17.04.2006 '(D) Long date:. . . . . . . . Montag, 17. April 2006 '(t) Short time: . . . . . . . 14:29 '(T) Long time:. . . . . . . . 14:29:09 '(f) Full date/short time: . . Montag, 17. April 2006 14:29 '(F) Full date/long time:. . . Montag, 17. April 2006 14:29:09 '(g) General date/short time:. 17.04.2006 14:29 '(G) General date/long time (default): ' . . . . . . . . . . . . . 17.04.2006 14:29:09 '(M) Month:. . . . . . . . . . 17 April '(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:29:09 GMT '(s) Sortable: . . . . . . . . 2006-04-17T14:29:09 '(u) Universal sortable (invariant): ' . . . . . . . . . . . . . 2006-04-17 21:29:09Z '(U) Universal sortable: . . . Montag, 17. April 2006 21:29:09 '(Y) Year: . . . . . . . . . . April 2006 '(o) Roundtrip (local):. . . . 2006-04-17T14:29:09.3011250-07:00 '(o) Roundtrip (UTC):. . . . . 2006-04-17T21:29:09.3011250Z '(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
// This code example demonstrates the ToString(String) and // ToString(String, IFormatProvider) methods for the DateTime // type in conjunction with the standard date and time // format specifiers. using System; using System.Globalization; using System.Threading; class Sample { public static void Main() { string msgShortDate = "(d) Short date: . . . . . . . "; string msgLongDate = "(D) Long date:. . . . . . . . "; string msgShortTime = "(t) Short time: . . . . . . . "; string msgLongTime = "(T) Long time:. . . . . . . . "; string msgFullDateShortTime = "(f) Full date/short time: . . "; string msgFullDateLongTime = "(F) Full date/long time:. . . "; string msgGeneralDateShortTime = "(g) General date/short time:. "; string msgGeneralDateLongTime = "(G) General date/long time (default):/n" + " . . . . . . . . . . . . . "; string msgMonth = "(M) Month:. . . . . . . . . . "; string msgRFC1123 = "(R) RFC1123:. . . . . . . . . "; string msgSortable = "(s) Sortable: . . . . . . . . "; string msgUniSortInvariant = "(u) Universal sortable (invariant):/n" + " . . . . . . . . . . . . . "; string msgUniSort = "(U) Universal sortable: . . . "; string msgYear = "(Y) Year: . . . . . . . . . . "; string msgRoundtripLocal = "(o) Roundtrip (local):. . . . "; string msgRoundtripUTC = "(o) Roundtrip (UTC):. . . . . "; string msgRoundtripUnspecified = "(o) Roundtrip (Unspecified):. "; string msg1 = "Use ToString(String) and the current thread culture./n"; string msg2 = "Use ToString(String, IFormatProvider) and a specified culture./n"; string msgCulture = "Culture:"; string msgThisDate = "This date and time: {0}/n"; DateTime thisDate = DateTime.Now; DateTime utcDate = thisDate.ToUniversalTime(); DateTime unspecifiedDate = new DateTime(2000, 3, 20, 13, 2, 3, 0, DateTimeKind.Unspecified); CultureInfo ci; // Format the current date and time in various ways. Console.Clear(); Console.WriteLine("Standard DateTime Format Specifiers:/n"); Console.WriteLine(msgThisDate, thisDate); Console.WriteLine(msg1); // Display the thread current culture, which is used to format the values. ci = Thread.CurrentThread.CurrentCulture; Console.WriteLine("{0,-30}{1}/n", msgCulture, ci.DisplayName); Console.WriteLine(msgShortDate + thisDate.ToString("d")); Console.WriteLine(msgLongDate + thisDate.ToString("D")); Console.WriteLine(msgShortTime + thisDate.ToString("t")); Console.WriteLine(msgLongTime + thisDate.ToString("T")); Console.WriteLine(msgFullDateShortTime + thisDate.ToString("f")); Console.WriteLine(msgFullDateLongTime + thisDate.ToString("F")); Console.WriteLine(msgGeneralDateShortTime + thisDate.ToString("g")); Console.WriteLine(msgGeneralDateLongTime + thisDate.ToString("G")); Console.WriteLine(msgMonth + thisDate.ToString("M")); Console.WriteLine(msgRFC1123 + utcDate.ToString("R")); Console.WriteLine(msgSortable + thisDate.ToString("s")); Console.WriteLine(msgUniSortInvariant + utcDate.ToString("u")); Console.WriteLine(msgUniSort + thisDate.ToString("U")); Console.WriteLine(msgYear + thisDate.ToString("Y")); Console.WriteLine(msgRoundtripLocal + thisDate.ToString("o")); Console.WriteLine(msgRoundtripUTC + utcDate.ToString("o")); Console.WriteLine(msgRoundtripUnspecified + unspecifiedDate.ToString("o")); Console.WriteLine(); // Display the same values using a CultureInfo object. The CultureInfo class // implements IFormatProvider. Console.WriteLine(msg2); // Display the culture used to format the values. ci = new CultureInfo("de-DE"); Console.WriteLine("{0,-30}{1}/n", msgCulture, ci.DisplayName); Console.WriteLine(msgShortDate + thisDate.ToString("d", ci)); Console.WriteLine(msgLongDate + thisDate.ToString("D", ci)); Console.WriteLine(msgShortTime + thisDate.ToString("t", ci)); Console.WriteLine(msgLongTime + thisDate.ToString("T", ci)); Console.WriteLine(msgFullDateShortTime + thisDate.ToString("f", ci)); Console.WriteLine(msgFullDateLongTime + thisDate.ToString("F", ci)); Console.WriteLine(msgGeneralDateShortTime + thisDate.ToString("g", ci)); Console.WriteLine(msgGeneralDateLongTime + thisDate.ToString("G", ci)); Console.WriteLine(msgMonth + thisDate.ToString("M", ci)); Console.WriteLine(msgRFC1123 + utcDate.ToString("R", ci)); Console.WriteLine(msgSortable + thisDate.ToString("s", ci)); Console.WriteLine(msgUniSortInvariant + utcDate.ToString("u", ci)); Console.WriteLine(msgUniSort + thisDate.ToString("U", ci)); Console.WriteLine(msgYear + thisDate.ToString("Y", ci)); Console.WriteLine(msgRoundtripLocal + thisDate.ToString("o", ci)); Console.WriteLine(msgRoundtripUTC + utcDate.ToString("o", ci)); Console.WriteLine(msgRoundtripUnspecified + unspecifiedDate.ToString("o", ci)); Console.WriteLine(); } } /* This code example produces the following results: Standard DateTime Format Specifiers: This date and time: 4/17/2006 2:22:48 PM Use ToString(String) and the current thread culture. Culture: English (United States) (d) Short date: . . . . . . . 4/17/2006 (D) Long date:. . . . . . . . Monday, April 17, 2006 (t) Short time: . . . . . . . 2:22 PM (T) Long time:. . . . . . . . 2:22:48 PM (f) Full date/short time: . . Monday, April 17, 2006 2:22 PM (F) Full date/long time:. . . Monday, April 17, 2006 2:22:48 PM (g) General date/short time:. 4/17/2006 2:22 PM (G) General date/long time (default): . . . . . . . . . . . . . 4/17/2006 2:22:48 PM (M) Month:. . . . . . . . . . April 17 (R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:22:48 GMT (s) Sortable: . . . . . . . . 2006-04-17T14:22:48 (u) Universal sortable (invariant): . . . . . . . . . . . . . 2006-04-17 21:22:48Z (U) Universal sortable: . . . Monday, April 17, 2006 9:22:48 PM (Y) Year: . . . . . . . . . . April, 2006 (o) Roundtrip (local):. . . . 2006-04-17T14:22:48.2698750-07:00 (o) Roundtrip (UTC):. . . . . 2006-04-17T21:22:48.2698750Z (o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000 Use ToString(String, IFormatProvider) and a specified culture. Culture: German (Germany) (d) Short date: . . . . . . . 17.04.2006 (D) Long date:. . . . . . . . Montag, 17. April 2006 (t) Short time: . . . . . . . 14:22 (T) Long time:. . . . . . . . 14:22:48 (f) Full date/short time: . . Montag, 17. April 2006 14:22 (F) Full date/long time:. . . Montag, 17. April 2006 14:22:48 (g) General date/short time:. 17.04.2006 14:22 (G) General date/long time (default): . . . . . . . . . . . . . 17.04.2006 14:22:48 (M) Month:. . . . . . . . . . 17 April (R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:22:48 GMT (s) Sortable: . . . . . . . . 2006-04-17T14:22:48 (u) Universal sortable (invariant): . . . . . . . . . . . . . 2006-04-17 21:22:48Z (U) Universal sortable: . . . Montag, 17. April 2006 21:22:48 (Y) Year: . . . . . . . . . . April 2006 (o) Roundtrip (local):. . . . 2006-04-17T14:22:48.2698750-07:00 (o) Roundtrip (UTC):. . . . . 2006-04-17T21:22:48.2698750Z (o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000 */
// This code example demonstrates the ToString(String) and // ToString(String, IFormatProvider) methods for the DateTime // type in conjunction with the standard date and time // format specifiers. using namespace System; using namespace System::Globalization; using namespace System::Threading; int main() { String^ msgShortDate = "(d) Short date: . . . . . . . "; String^ msgLongDate = "(D) Long date:. . . . . . . . "; String^ msgShortTime = "(t) Short time: . . . . . . . "; String^ msgLongTime = "(T) Long time:. . . . . . . . "; String^ msgFullDateShortTime = "(f) Full date/short time: . . "; String^ msgFullDateLongTime = "(F) Full date/long time:. . . "; String^ msgGeneralDateShortTime = "(g) General date/short time:. "; String^ msgGeneralDateLongTime = "(G) General date/long time (default):/n" + " . . . . . . . . . . . . . "; String^ msgMonth = "(M) Month:. . . . . . . . . . "; String^ msgRFC1123 = "(R) RFC1123:. . . . . . . . . "; String^ msgSortable = "(s) Sortable: . . . . . . . . "; String^ msgUniSortInvariant = "(u) Universal sortable (invariant):/n" + " . . . . . . . . . . . . . "; String^ msgUniSort = "(U) Universal sortable: . . . "; String^ msgYear = "(Y) Year: . . . . . . . . . . "; String^ msgRoundtripLocal = "(o) Roundtrip (local):. . . . "; String^ msgRoundtripUTC = "(o) Roundtrip (UTC):. . . . . "; String^ msgRoundtripUnspecified = "(o) Roundtrip (Unspecified):. "; String^ msg1 = "Use ToString(String) and the current thread culture./n"; String^ msg2 = "Use ToString(String, IFormatProvider) and a specified culture./n"; String^ msgCulture = "Culture:"; String^ msgThisDate = "This date and time: {0}/n"; DateTime^ thisDate = DateTime::Now; DateTime^ utcDate = thisDate->ToUniversalTime(); DateTime^ unspecifiedDate = gcnew DateTime(2000, 3, 20, 13, 2, 3, 0, DateTimeKind::Unspecified); CultureInfo^ ci; // Format the current date and time in various ways. Console::Clear(); Console::WriteLine("Standard DateTime Format Specifiers:/n"); Console::WriteLine(msgThisDate, thisDate); Console::WriteLine(msg1); // Display the thread current culture, which is used to format the values. ci = Thread::CurrentThread->CurrentCulture; Console::WriteLine("{0,-30}{1}/n", msgCulture, ci->DisplayName); Console::WriteLine(msgShortDate + thisDate->ToString("d")); Console::WriteLine(msgLongDate + thisDate->ToString("D")); Console::WriteLine(msgShortTime + thisDate->ToString("t")); Console::WriteLine(msgLongTime + thisDate->ToString("T")); Console::WriteLine(msgFullDateShortTime + thisDate->ToString("f")); Console::WriteLine(msgFullDateLongTime + thisDate->ToString("F")); Console::WriteLine(msgGeneralDateShortTime + thisDate->ToString("g")); Console::WriteLine(msgGeneralDateLongTime + thisDate->ToString("G")); Console::WriteLine(msgMonth + thisDate->ToString("M")); Console::WriteLine(msgRFC1123 + utcDate->ToString("R")); Console::WriteLine(msgSortable + thisDate->ToString("s")); Console::WriteLine(msgUniSortInvariant + utcDate->ToString("u")); Console::WriteLine(msgUniSort + thisDate->ToString("U")); Console::WriteLine(msgYear + thisDate->ToString("Y")); Console::WriteLine(msgRoundtripLocal + thisDate->ToString("o")); Console::WriteLine(msgRoundtripUTC + utcDate->ToString("o")); Console::WriteLine(msgRoundtripUnspecified + unspecifiedDate->ToString("o")); Console::WriteLine(); // Display the same values using a CultureInfo object. The CultureInfo class // implements IFormatProvider. Console::WriteLine(msg2); // Display the culture used to format the values. ci = gcnew CultureInfo("de-DE"); Console::WriteLine("{0,-30}{1}/n", msgCulture, ci->DisplayName); Console::WriteLine(msgShortDate + thisDate->ToString("d", ci)); Console::WriteLine(msgLongDate + thisDate->ToString("D", ci)); Console::WriteLine(msgShortTime + thisDate->ToString("t", ci)); Console::WriteLine(msgLongTime + thisDate->ToString("T", ci)); Console::WriteLine(msgFullDateShortTime + thisDate->ToString("f", ci)); Console::WriteLine(msgFullDateLongTime + thisDate->ToString("F", ci)); Console::WriteLine(msgGeneralDateShortTime + thisDate->ToString("g", ci)); Console::WriteLine(msgGeneralDateLongTime + thisDate->ToString("G", ci)); Console::WriteLine(msgMonth + thisDate->ToString("M", ci)); Console::WriteLine(msgRFC1123 + utcDate->ToString("R", ci)); Console::WriteLine(msgSortable + thisDate->ToString("s", ci)); Console::WriteLine(msgUniSortInvariant + utcDate->ToString("u", ci)); Console::WriteLine(msgUniSort + thisDate->ToString("U", ci)); Console::WriteLine(msgYear + thisDate->ToString("Y", ci)); Console::WriteLine(msgRoundtripLocal + thisDate->ToString("o", ci)); Console::WriteLine(msgRoundtripUTC + utcDate->ToString("o", ci)); Console::WriteLine(msgRoundtripUnspecified + unspecifiedDate->ToString("o", ci)); Console::WriteLine(); } /* This code example produces the following results: Standard DateTime Format Specifiers: This date and time: 4/17/2006 2:38:09 PM Use ToString(String) and the current thread culture. Culture: English (United States) (d) Short date: . . . . . . . 4/17/2006 (D) Long date:. . . . . . . . Monday, April 17, 2006 (t) Short time: . . . . . . . 2:38 PM (T) Long time:. . . . . . . . 2:38:09 PM (f) Full date/short time: . . Monday, April 17, 2006 2:38 PM (F) Full date/long time:. . . Monday, April 17, 2006 2:38:09 PM (g) General date/short time:. 4/17/2006 2:38 PM (G) General date/long time (default): . . . . . . . . . . . . . 4/17/2006 2:38:09 PM (M) Month:. . . . . . . . . . April 17 (R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:38:09 GMT (s) Sortable: . . . . . . . . 2006-04-17T14:38:09 (u) Universal sortable (invariant): . . . . . . . . . . . . . 2006-04-17 21:38:09Z (U) Universal sortable: . . . Monday, April 17, 2006 9:38:09 PM (Y) Year: . . . . . . . . . . April, 2006 (o) Roundtrip (local):. . . . 2006-04-17T14:38:09.9417500-07:00 (o) Roundtrip (UTC):. . . . . 2006-04-17T21:38:09.9417500Z (o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000 Use ToString(String, IFormatProvider) and a specified culture. Culture: German (Germany) (d) Short date: . . . . . . . 17.04.2006 (D) Long date:. . . . . . . . Montag, 17. April 2006 (t) Short time: . . . . . . . 14:38 (T) Long time:. . . . . . . . 14:38:09 (f) Full date/short time: . . Montag, 17. April 2006 14:38 (F) Full date/long time:. . . Montag, 17. April 2006 14:38:09 (g) General date/short time:. 17.04.2006 14:38 (G) General date/long time (default): . . . . . . . . . . . . . 17.04.2006 14:38:09 (M) Month:. . . . . . . . . . 17 April (R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:38:09 GMT (s) Sortable: . . . . . . . . 2006-04-17T14:38:09 (u) Universal sortable (invariant): . . . . . . . . . . . . . 2006-04-17 21:38:09Z (U) Universal sortable: . . . Montag, 17. April 2006 21:38:09 (Y) Year: . . . . . . . . . . April 2006 (o) Roundtrip (local):. . . . 2006-04-17T14:38:09.9417500-07:00 (o) Roundtrip (UTC):. . . . . 2006-04-17T21:38:09.9417500Z (o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000 */