1

我正在从文本框中的日历扩展器中选择值,并且我正在获取格式中的值,但我希望它以另一个文本框 ()中的格式显示,如下所示{"MM/dd/yyyy"}{"dd/MM/yyyy"}txt_actualrightformat.Text

DateTime wrongformat = DateTime.Parse(TextBox4.Text);
String rightformat = String.Format("{0:dd/MM/yyyy}", wrongformat.Date);
txt_actualrightformat.Text = rightformat.ToString();
4

3 回答 3

2

DateTime与格式无关,格式仅用于显示目的。如果您没有得到正确的日期,wrongformat那么您可以使用DateTime.ParseExact该格式。然后简单地

txt_actualrightformat.Text = wrongformat.ToString("dd/MM/yyyy");

编辑:

像这样使用DateTime.ParseExcat

DateTime dt = DateTime.ParseExact(TextBox4.Text, "MM/dd/yyyy", CultureInfo.InvariantCulture);
txt_actualrightformat = dt.ToString("dd/MM/yyyy");
于 2013-04-05T07:54:34.940 回答
2

试试这些

DateTime wrongformat = DateTime.Parse(TextBox4.Text);

txt_actualrightformat.Text =wrongformat.ToString("dd'/'MM'/'yyyy");

或者

 txt_actualrightformat.Text =String.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", _wrongformat )

更新:

我认为日期的格式TextBox4确实是错误的:-)
请注意,“22/3/2013” ​​它与“d/M/yyyy”格式匹配,与“dd/MM/yyyy”格式不匹配。- 对于"dd/MM/yyyy"它应该是"22/03/2013"

DateTime dt;

if(DateTime.TryParseExact(TextBox4.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture,
                           DateTimeStyles.None, out td))
{
  // Valid date used in `TextBox4` (NOTE : dd/MM/yyyy)!, you can use dt now as i explained above!.:-)
}
于 2013-04-05T07:59:19.140 回答
0

在解析或转换任何日期时间值之前,请检查日历的日期格式。在您的 aspx 页面上转到 calendarExtender 并转到其属性然后找到格式并将格式设置为 dd/MM/yyyy 和今天的日期格式也这样做。然后从后面的代码中声明一个日期时间类型的变量,并简单地传递 calendarExtender 放置日期的文本框值并将文本框值转换为日期时间。该代码将类似于 public DateTime date{get;set;}

日期 = Convert.ToDateTime(txtDate.Text.ToString()); 在 sql server 中,该值将保存为“2016-02-09 00:00:00.000”这种格式

于 2016-09-30T11:50:45.597 回答