如何在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()
方法使用 ShortDatePattern,ToLongDateString()
方法使用与当前线程区域性关联的 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()
获取长格式的日期和时间。
本文内容总结: