c# - 使用代码将日期分配给 TextBox textmode ="date"

标签 c# asp.net date datetime

当我将日期分配给 textmode= "date"的文本框时,它不显示并显示 "mm/dd/yyy"尽管文本框在调试中具有正确的日期并且启用了 autopostBack。

DataTable dt= DepartMentDB.GetDepartmentById(ddlDepartment.SelectedValue.ToString());
string Managername = dt.Rows[0]["Dept_Manager"].ToString();
DateTime d = DateTime.Parse(dt.Rows[0]["Manager_hiredate"].ToString());
txtHiredate.Text = d.ToString("mm/dd/yyy");

最佳答案

您需要 "MM/dd/yyy"(注意大写的 M。否则它会在工作后转换为分钟)。如果它仍然不起作用,请使用不变区域性强制转换(因为您直接指定格式)。即:

txtHiredate.Text = d.ToString("MM/dd/yyy", CultureInfo.InvariantCulture);

编辑: 实际上,这是因为日期的文本模式只支持特定的格式。主要是 yyyy-MM-dd 或用户在其文化设置中指定的任何内容。参见 https://stackoverflow.com/a/22747762/3419825

所以要么使用文本模式并使用 yyyy-MM-dd,要么删除文本模式,或者使用像 jQuery 这样的框架来添加掩码

关于c# - 使用代码将日期分配给 TextBox textmode ="date",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35160632/

相关文章:

java - 从 GWT 解析带有时区的日期

c# - SharePoint 网络服务 : Need to fetch list in a sub-site

c# - 绘制位图的最快方法?

c# - 通过 Web 服务自动公开数据库表

c# - Owin 重启后重新连接 SignalR 客户端,但未发布消息

java - 在android中比较包含时间的字符串与系统时间

javascript - 在javascript中计算时差

c# - Windows Workflow Foundation - 获取已执行事件的列表?

c# - 如何在 C# 中将 IP 范围转换为 Cidr?

存在多个默认值时,ASP.NET 默认按钮 (LinkBut​​ton) 在 Google Chrome 中不起作用