. net获取日期时间格式

本文关键字:格式 时间 取日期 获取 net | 更新日期: 2023-09-27 18:14:12

我想使用DataGridView来显示日期和DateTimePicker来实现过滤器。我希望它们都以"G"格式的标准日期和时间格式显示日期时间。理想情况下,我只需要输入

dateTimePicker1.CustomFormat = "G";

,但这似乎不起作用。(它实际上在DateTimePicker中显示字符"G"。)我找到了下面的解决方案,但对我来说似乎很脆弱和麻烦。

DateTime now = DateTime.Now;
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns('G')[0];
dateTimePicker1.Value = now;
dataGridView.Rows.Add(now);

有什么改进的建议吗?

编辑:新增设置dateTimePicker1.Format

. net获取日期时间格式

您可以使用:

var formatInfo = CultureInfo.CurrentCulture.DateTimeFormat;
string pattern = formatInfo.ShortDatePattern + " " + formatInfo.LongTimePattern;

这遵循MSDN文档中的"G"状态:

标准格式说明符"G"表示由空格分隔的短日期("d")和长时间("T")模式的组合。

DateTimePicker不支持。检查该属性支持的值:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.customformat.aspx

检查当你运行这段代码时,你的选择器的CustomFormat属性中实际被放入的是不是你的web.config中的文化的长日期和时间模式。

重要编辑:也许只是将Format属性设置为DateTimePickerFormat。