C# 文本框中带有日期字段的问题

C# 文本框中带有日期字段的问题,c#,asp.net,C#,Asp.net,我在数据集列中检索到的日期值为“9/14/2016 12:00:00 AM” 现在我正在编写以下代码,以便在textbox中显示它 var date = ds.Tables[0].Rows[0]["ExpiryDate"].ToString(); txtExpiryDate.Text = date.ToString(); 它在文本框中显示为“91/42/0161” 我希望它应该以mm/dd/yyyy格式显示日期,即2016年9月14日或2016年9月14日。 我无法解决这个问题。。。请帮忙 使

我在数据集列中检索到的日期值为“9/14/2016 12:00:00 AM” 现在我正在编写以下代码,以便在textbox中显示它

var date = ds.Tables[0].Rows[0]["ExpiryDate"].ToString();
txtExpiryDate.Text = date.ToString();
它在文本框中显示为“91/42/0161” 我希望它应该以mm/dd/yyyy格式显示日期,即2016年9月14日或2016年9月14日。 我无法解决这个问题。。。请帮忙

使用它

var date = ds.Tables[0].Rows[0]["ExpiryDate"].ToString("MM/dd/yyyy");
txtExpiryDate.Text = date;
使用它

试一试

试一试


如果它实际上已经是一个
DateTime
,则不需要将其转换为字符串,然后再返回到
DateTime
。在这里很方便:

DateTime date = ds.Tables[0].Rows[0].Field<DateTime>("ExpiryDate");

如果它实际上已经是一个
DateTime
,则不需要将其转换为字符串,然后再返回到
DateTime
。在这里很方便:

DateTime date = ds.Tables[0].Rows[0].Field<DateTime>("ExpiryDate");

有很多方法可以做到这一点,在您的情况下,您分配的字符串没有正确的格式。用我的代码替换你的代码,你就会看到它在工作

txtExpiryDate.Text = String.Format("{0:MM/dd/yyyy}", Convert.Convert.ToDateTime(ds.Tables[0].Rows[0]["ExpiryDate"]));

有很多方法可以做到这一点,在您的情况下,您分配的字符串没有正确的格式。用我的代码替换你的代码,你就会看到它在工作

txtExpiryDate.Text = String.Format("{0:MM/dd/yyyy}", Convert.Convert.ToDateTime(ds.Tables[0].Rows[0]["ExpiryDate"]));

首先,这里给出的任何答案都应该适用于你。这是导致您出现问题的其他原因

对于这个问题,您应该在c代码中甚至在客户端脚本中调试该值

正如我在上文所评论的那样:

仅取日期值“9/14/2016 1”的一部分,如果我们将位置向右移动一个位置,则可以创建显示的值。它将变为91/42/0161(文本框中显示的错误值)。客户端脚本中是否有更改页面上值的内容


您应该调试以完成工作。

首先,这里给出的任何答案都应该适用于您。这是导致您出现问题的其他原因

对于这个问题,您应该在c代码中甚至在客户端脚本中调试该值

正如我在上文所评论的那样:

仅取日期值“9/14/2016 1”的一部分,如果我们将位置向右移动一个位置,则可以创建显示的值。它将变为91/42/0161(文本框中显示的错误值)。客户端脚本中是否有更改页面上值的内容


您应该调试以完成工作。

变量存储的
日期是否正确?让我检查一下……我假设
的“ExpiryDate”
数据不正确。顺便说一句,你做了2个
.ToString()
是的,它是以“09/14/2016”格式输入的。你的
txtExpiryDate
是否应用了任何掩码?日期变量存储的值是否正确?让我检查一下……我假设
ExpiryDate
有不正确的数据。顺便说一句,您做了2个
.ToString()
是,它是以“09/14/2016”格式输入的。您的
txtExpiryDate
是否应用了任何掩码?在给定代码中,变量
date
将是字符串。那么为什么要使用
.ToString()
再次转换它呢?在给定的代码中,变量
date
将是字符串。那么,为什么要使用
.ToString()
再次转换它?如果值为null,会发生什么?如果值为null,会发生什么?
string result = date.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);
txtExpiryDate.Text = String.Format("{0:MM/dd/yyyy}", Convert.Convert.ToDateTime(ds.Tables[0].Rows[0]["ExpiryDate"]));