winform代码中时间格式的显示
### WinForm代码中时间格式的显示 在WinForms应用程序中,经常会遇到需要处理日期和时间数据的情况,尤其是在从数据库读取包含`DateTime`类型的数据时。例如,假设我们需要从数据库中读取一个`DateTime`类型的字段,并希望将其显示在一个文本框中。然而,通常情况下,该字段会默认显示为“年-月-日 时:分:秒”的格式,而这可能并不是我们所期望的显示方式。有时候,我们可能只想显示日期部分(即“年-月-日”),而不包括时间部分。 ### 如何控制时间格式 在C#中,可以非常方便地控制`DateTime`对象的显示格式。这主要通过调用`DateTime`对象的`ToString`方法并传入相应的格式字符串来实现。以下是一些常用的格式化选项: 1. **完整日期**:如果只需要显示完整的日期(年-月-日),可以使用`"yyyy-MM-dd"`格式字符串。 ```csharp string formattedDate = DateTime.Now.ToString("yyyy-MM-dd"); Console.WriteLine(formattedDate); // 输出类似 "2023-03-15" ``` 2. **简化日期**:如果想要更简化的日期格式(如“2023-3-15”),可以使用`"yyyy-M-d"`。 ```csharp string shortDate = DateTime.Now.ToString("yyyy-M-d"); Console.WriteLine(shortDate); // 输出类似 "2023-3-15" ``` 3. **仅日期**:若只需要日期部分而不含时间,可以使用`Date`属性。 ```csharp string dateOnly = DateTime.Now.Date.ToString(); Console.WriteLine(dateOnly); // 输出类似 "2023-3-15 00:00:00" ``` 4. **特定格式**:也可以自定义日期和时间的显示格式,例如只显示小时和分钟: ```csharp string timeOnly = DateTime.Now.ToString("HH:mm"); Console.WriteLine(timeOnly); // 输出类似 "14:25" ``` ### 示例代码 下面的示例展示了如何在不同的格式下显示`DateTime`值: ```csharp using System; namespace TimeFormatExample { class Program { static void Main(string[] args) { // 当前日期和时间 DateTime now = DateTime.Now; // 完整日期格式 Console.WriteLine(now.ToString("yyyy-MM-dd")); // 2023-03-15 // 简化日期格式 Console.WriteLine(now.ToString("yyyy-M-d")); // 2023-3-15 // 仅显示日期 Console.WriteLine(now.Date); // 2023-3-15 00:00:00 // 显示特定格式的时间 Console.WriteLine(now.ToString("HH:mm")); // 14:25 // 其他有用的格式 Console.WriteLine(now.ToString("dd-MMM-yyyy")); // 15-Mar-2023 Console.WriteLine(now.ToString("HH:mm:ss")); // 14:25:30 Console.WriteLine(now.ToString("dddd, dd MMMM yyyy")); // Wednesday, 15 March 2023 } } } ``` ### 格式字符串解析 为了更好地理解上述代码中的格式字符串,这里对它们进行逐一解释: - `"yyyy"`表示四位数的年份; - `"MM"`表示两位数的月份; - `"dd"`表示两位数的日期; - `"HH"`表示24小时制的小时(两位数); - `"mm"`表示分钟(两位数); - `"ss"`表示秒(两位数); - `"ddd"`表示三天缩写(如Mon、Tue); - `"dddd"`表示完整星期名称(如Monday、Tuesday); - `"MMM"`表示三个月份缩写(如Jan、Feb); - `"MMMM"`表示完整月份名称(如January、February)。 通过上述方法和示例,我们可以根据实际需求灵活地调整和控制`DateTime`类型的显示格式,从而使得应用程序中的时间显示更加符合用户的需求和预期。
//获取日期+时间
DateTime.Now.ToString(); // 2008-9-4 20:02:10
DateTime.Now.ToLocalTime().ToString(); // 2008-9-4 20:12:12
//获取日期
DateTime.Now.ToLongDateString().ToString(); // 2008年9月4日
DateTime.Now.ToShortDateString().ToString(); // 2008-9-4
DateTime.Now.ToString("yyyy-MM-dd"); // 2008-09-04
DateTime.Now.Date.ToString(); // 2008-9-4 0:00:00
//获取时间
DateTime.Now.ToLongTimeString().ToString(); // 20:16:16
DateTime.Now.ToShortTimeString().ToString(); // 20:16
DateTime.Now.ToString("hh:mm:ss"); // 08:05:57
DateTime.Now.TimeOfDay.ToString(); // 20:33:50.7187500
//其他
DateTime.ToFileTime().ToString(); // 128650040212500000
DateTime.Now.ToFileTimeUtc().ToString(); // 128650040772968750
DateTime.Now.ToOADate().ToString(); // 39695.8461709606
DateTime.Now.ToUniversalTime().ToString(); // 2008-9-4 12:19:14
DateTime.Now.Year.ToString(); 获取年份 // 2008
DateTime.Now.Month.ToString(); 获取月份 // 9
DateTime.Now.DayOfWeek.ToString(); 获取星期 // Thursday
DateTime.Now.DayOfYear.ToString(); 获取第几天 // 248
DateTime.Now.Hour.ToString(); 获取小时 // 20
- WPF新人2014-11-19有点借鉴意义
- 粉丝: 2
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助