如何在C#中将日期对象转换为字符串?

本文关键字:转换 对象 字符串 日期 | 更新日期: 2023-09-18 11:27:15

在这里,您将学习如何在 C# 中将DateTime对象转换为字符串。

DateTime 结构包括以下以字符串形式返回日期和时间的方法。

函数描述
DateTime.ToString()DateTime值转换为当前区域性指定格式的字符串。
DateTime.ToShortDateString()DateTime值转换为当前区域性中的短日期字符串(M/d/yyyy 模式)。
DateTime.ToShortTimeString()DateTime值转换为当前区域性中的短时间字符串 (h:mm:ss 模式)。
DateTime.ToLongDateString()DateTime值转换为当前区域性中的长日期字符串(dddd、MMMM d、yyyy 模式)。
DateTime.ToLongTimeString()将当前区域性中的DateTime值转换为长时间字符串 (h:mm:ss tt 模式)。

使用 ToString() 方法将日期时间转换为字符串(Convert DateTime to String using the ToString() Method)

使用 DateTime.ToString() 方法将日期对象转换为具有本地区域性格式的字符串。DateTime对象的值使用与当前线程区域性关联的 DateTimeFormatInfo.ShortDatePattern 属性定义的模式进行格式化。 例如,本地/服务器环境中的区域性设置为 en-US ,然后您将使用上述任何方法获取MM/DD/YYYY格式的日期的字符串值。

下面将DateTime对象的日期部分转换为字符串。

var todayDate = DateTime.Today;
string strToday = todayDate.ToString(); // converts date to string as per current culture
Console.WriteLine(strToday);
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
string strTodayUS = todayDate.ToString(); // converts date to string in MM/DD/YYYY format
Console.WriteLine(strTodayUS);
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
string strTodayFR = todayDate.ToString(); // converts date to string in DD/MM/YYYY format
Console.WriteLine(strTodayFR);

在上面的示例中,默认情况下,ToString() 方法基于当前线程区域性的 DateTimeFormatInfo.ShortDatePattern 属性将日期转换为字符串。

将日期时间转换为特定格式的字符串(Convert DateTime to String in Specific Format)

可以在 ToString() 方法中指定特定的日期和时间格式,以将日期和时间字符串转换为特定格式。 下面的示例演示如何使用 ToString() 方法以不同格式的字符串形式获取日期值。

示例:将日期时间转换为特定格式的字符串
var dt = DateTime.Now;
Console.WriteLine("Date in Current Culture: " + dt.ToString("d"));
Console.WriteLine("MM/dd/yyyy Format: " + dt.ToString("MM/dd/yyyy")); //e.g. 06/18/2021
Console.WriteLine("dddd, dd MMMM yyyy Format: " + dt.ToString("dddd, dd MMMM yyyy")); //e.g. Friday, 18 June 2021
Console.WriteLine("MM/dd/yyyy h:mm tt Format: " + dt.ToString("MM/dd/yyyy h:mm tt")); //e.g. 06/18/2021 12:44 PM
Console.WriteLine("MMMM dd Format:" + dt.ToString("MMMM dd")); //e.g. June 18
Console.WriteLine("HH:mm:ss Format: " + dt.ToString("HH:mm:ss")); // e.g. 12:44:46
Console.WriteLine("hh:mm tt Format: " + dt.ToString("hh:mm tt")); // e.g. 12:44

访问date and time format specifiers以了解可与 ToString() 方法一起使用的所有格式说明符。

将日期时间转换为日期字符串(Convert DateTime to Date String)

使用 ToShortDateString()ToLongDateString() 根据本地区域性以短格式或长格式获取日期部分字符串,如下所示。

示例:日期时间到日期字符串
var dt = DateTime.Now;
Console.WriteLine("Short Date String: " + dt.ToShortDateString()); // e.g. 06/18/2021
Console.WriteLine("Long Date String: " + dt.ToLongDateString());  // e.g. Friday, June 18, 2021

ToShortDateString() 方法使用 ShortDatePatternToLongDateString() 方法使用与当前线程区域性关联的 LongDatePattern 属性属性。

将日期时间转换为时间字符串(Convert DateTime to Time String)

使用ToShortTimeString()ToLongTimeString()根据本地区域性以短格式或长格式获取时间字符串部分,如下所示。

示例:日期时间到时间字符串
var dt = DateTime.Now;
Console.WriteLine("Short Time String: " + dt.ToShortTimeString()); //e.g. 12:10 
Console.WriteLine("Long Time String: " + dt.ToLongTimeString());   //e.g. 12:10:50

ToShortTimeString() 方法使用 ShortTimePattern 属性定义的模式,ToLongTimeString() 方法使用与当前线程区域性关联的 LongTimePattern 属性。

结论

使用ToString()方法根据需要将日期对象转换为不同的格式。使用 ToShortDateString()ToShortTimeString() 获取较短的日期和时间字符串。使用 ToLongDateString()ToLongTimeString() 获取长格式的日期和时间。


本文内容总结: