文本框文本模式是DateTimeLocal

时间:2013-10-03 15:43:46

标签: c# asp.net vb.net textbox

我有textbox,我希望它能够被格式化。幸运的是,我可以通过更改textmode = DateTimeLocal来完成此操作。正是我想要的。另外,我想使用默认值加载此文本框,而不是将其保留为dd/mm/yy __:__:__。如果文本是常规文本框(single mode)或甚至是日期时间文本框,我可以更改文本。但我不能用DateTimeLocal模式改变它。一些帮助请。谢谢。

3 个答案:

答案 0 :(得分:4)

您必须将DateTime格式化为可以解析的有效日期和时间字符串,这是一个有效的字符串:

txtDateTimeLocal.Text = DateTime.Now.ToLocalTime().ToString("yyyy-MM-ddTHH:mm");

有关您可以设置的其他属性的详细信息,请参阅:http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#local-date-and-time-state-(type=datetime-local)

答案 1 :(得分:1)

尝试设置整个日期时间格式(包括秒和毫秒),这对我有用。

txtStartTime.Text = DateTime.Today.ToString("yyyy-MM-ddTHH:mm:ss.ss");

答案 2 :(得分:0)

如果要从数据库动态设置TextBox的DateTime,则可以使用以下代码:

DataTable dtTemp = (DataTable)ViewState["DataSet"]; //  this are temporary table

TextBox txtFromDate = (TextBox)gridEditBloackHomework.Rows[e.NewEditIndex].FindControl("txtFromDate");
TextBox txtToDate = (TextBox)gridEditBloackHomework.Rows[e.NewEditIndex].FindControl("txtToDate");
string c = dtTemp.Rows[e.NewEditIndex]["FromDate"].ToString();
DateTime FromDate = Convert.ToDateTime(dtTemp.Rows[e.NewEditIndex]["FromDate"]);
DateTime ToDate = Convert.ToDateTime(dtTemp.Rows[e.NewEditIndex]["ToDate"]);
DateTime dtFromDate = FromDate.AddHours(-2);
DateTime dtToDate = ToDate.AddHours(-2);
txtFromDate.Text = dtFromDate.ToLocalTime().ToString("yyyy-MM-ddTHH:mm").ToString();
txtToDate.Text = dtToDate.ToLocalTime().ToString("yyyy-MM-ddTHH:mm");