我正在从数据库填充我的网格。在RowEditing
事件上,我从网格到文本框获取数据。这是我使用的代码
txtDate.Text = Convert.ToDateTime(ds.Tables[0].Rows[0]["BuyDate"]).ToShortDateString();
这给了我02-06-2015
格式的日期,但我想以02-Jun-2015
格式显示日期。
您可以使用ToString
方法并传递您想要的格式。
txtDate.Text = Convert.ToDateTime(ds.Tables[0].Rows[0]["BuyDate"]).ToString("dd-MMM-yyyy");
在下面,您将发现其他有用的格式
From DateTime.ToShortDateString
method
当前
DateTime
对象的值使用模式由DateTimeFormatInfo.ShortDatePattern
属性定义与当前线程区域性相关联。
这意味着,你的CurrentCulture
的ShortDatePattern
是dd-MM-yyyy
。如果您想要CurrentCulture
的缩写月名,您可以使用MMM
指定符代替。
txtDate.Text = Convert.ToDateTime(ds.Tables[0].Rows[0]["BuyDate"])
.ToString("dd-MMM-yyyy");
请记住,如果您的CurrentCulture
不是基于英语的,则此MMM
说明符将生成与Jun
不同的名称。在这种情况下,您可以提供基于英语的IFormatProvider
(如InvariantCulture
)作为ToString
方法中的第二个参数,如;
txtDate.Text = Convert.ToDateTime(ds.Tables[0].Rows[0]["BuyDate"])
.ToString("dd-MMM-yyyy", CultureInfo.InvariantCulture);
要获得DateTime格式,将字符串框入DateTime并通过ToString()使用格式化字符串,如:
txtDate.Text = Convert.ToDateTime(ds.Tables[0].Rows[0]["BuyDate"]).ToString("dd-MMM-yyyy");
访问MSDN的链接以获取完整的详细信息:
https://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx直接使用
Convert.ToDateTime(YourDataSet.Tables[0].Rows[0]["Date"]).ToString("dd MMM yyyy");
或
Convert.ToDateTime(YourDataSet.Tables[0].Rows[0]["Date"]).ToString("dd/MMM/yyyy");
或者任何你想要的
像这样:
txtDate.Text = Convert.ToDateTime(ds.Tables[0].Rows[0]["BuyDate"]).ToString("dd MMM yyyy");
查看以下示例:如何格式化日期时间。
在您的情况下,dd-MMM-yyyy
将是正确的模式。
如前所述,您不必使用string.Format()
, .ToString()
也允许传递模式。
请注意,您还应该考虑将信息保留为DateTime(不是字符串),并将其格式化为绑定(如果您正在使用DataBinding),这将使视图与底层数据