C# 日期处理:string.Format与DateTime方法

需积分: 10 1 下载量 10 浏览量 更新于2024-12-23 收藏 39KB DOC 举报
"这篇资源主要介绍了C#编程中关于日期处理的函数,特别是与`string.Format`相关的使用方法。通过示例代码展示了如何获取和格式化当前日期时间、转换为不同的时间表示形式以及提取日期时间的各个部分。" 在C#编程中,日期和时间的处理是非常常见的操作。`DateTime` 类型是.NET Framework提供的一种内置类型,用于存储和处理日期和时间信息。在C#中,我们可以使用多种方法来操作和格式化`DateTime`对象。在给出的示例中,我们看到`DateTime`对象创建并初始化为当前时间: ```csharp DateTime dt = DateTime.Now; ``` 接着,`ToString()` 方法被用来将`DateTime`对象转换为字符串。默认情况下,它会按照本地化的日期和时间格式进行显示: ```csharp Label1.Text = dt.ToString(); // 示例输出:2005-11-5 13:21:25 ``` `ToFileTime()` 和 `ToFileTimeUtc()` 方法将日期时间转换为文件时间,这是一个以1601年1月1日午夜(协调世界时)为起点的 tick(十亿分之一秒)计数: ```csharp Label2.Text = dt.ToFileTime().ToString(); // 示例输出:127756416859912816 Label3.Text = dt.ToFileTimeUtc().ToString(); // 示例输出:127756704859912816 ``` `ToLocalTime()` 方法将日期时间转换为本地时间,如果原始时间已经是本地时间,这个操作不会改变原始值: ```csharp Label4.Text = dt.ToLocalTime().ToString(); // 示例输出:2005-11-5 21:21:25 ``` `ToLongDateString()` 和 `ToLongTimeString()` 返回日期和时间的长格式: ```csharp Label5.Text = dt.ToLongDateString().ToString(); // 示例输出:2005年11月5日 Label6.Text = dt.ToLongTimeString().ToString(); // 示例输出:13:21:25 ``` `ToOADate()` 方法将日期时间转换为OLE Automation日期,这是一个双精度浮点数,其中整数部分代表从1899年12月30日以来的天数,小数部分是当天的小时数除以24: ```csharp Label7.Text = dt.ToOADate().ToString(); // 示例输出:38661.5565508218 ``` `ToShortDateString()` 和 `ToShortTimeString()` 返回日期和时间的短格式: ```csharp Label8.Text = dt.ToShortDateString().ToString(); // 示例输出:2005-11-5 Label9.Text = dt.ToShortTimeString().ToString(); // 示例输出:13:21 ``` `ToUniversalTime()` 方法将日期时间转换为协调世界时间(UTC): ```csharp Label10.Text = dt.ToUniversalTime().ToString(); // 示例输出:2005-11-5 5:21:25 ``` 此外,还可以通过访问`DateTime`对象的属性来获取日期和时间的各个部分,如年、月、日、星期、小时、分钟、秒、毫秒等: ```csharp Label1.Text = dt.Year.ToString(); // 示例输出:2005 Label2.Text = dt.Date.ToString(); // 示例输出:2005-11-5 0:00:00 Label3.Text = dt.DayOfWeek.ToString(); // 示例输出:Saturday Label4.Text = dt.DayOfYear.ToString(); // 示例输出:309 Label5.Text = dt.Hour.ToString(); // 示例输出:13 Label6.Text = dt.Millisecond.ToString(); // 示例输出:441 Label7.Text = dt.Minute.ToString(); // 示例输出:30 Label8.Text = dt.Month.ToString(); // 示例输出:11 Label9.Text = ... // 其他属性的访问和输出 ``` `string.Format` 函数可以用于更复杂的格式化,例如: ```csharp string formatted = string.Format("Year: {0}, Month: {1}", dt.Year, dt.Month); ``` 这允许在输出字符串中插入变量,并控制它们的格式。在处理日期和时间时,`string.Format` 结合 `DateTime` 的各种方法,提供了极大的灵活性和精确度,可以满足各种格式化需求。了解并熟练运用这些函数和方法,对于C#开发者来说至关重要。