ASP.net - C# 将输入类型:datetime-local 设置为当前日期
ASP.net - C# Set input type: datetime-local to current date
这是我在 aspx 文件中声明文本字段的方式:
<input type="datetime-local" class="form-control" id="inputDate" runat="server">
在我的 aspx.cs 文件页面加载:
inputDate.Value = DateTime.Now.ToString("MM/dd/yyyy hh:mm tt");
我的目标是当页面加载时,inputDate 字段包含具有这种 "MM/dd/yyyy hh:mm tt" 格式的当前日期
但它不起作用。什么都没有发生。
在经典的 ASP.NET WebForm 中,您可以尝试以下操作:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>TEST</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
在后面的代码中:
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = DateTime.Now.ToString("MM/dd/yyyy hh:mm tt");
}
此外,您可以使用 ASP.NET Label
控件来实现只读功能,而不是 TextBox
。这将 return 与服务器时区相关的 DateTime
值。为了实现世界时使用:
TextBox1.Text = DateTime.Now.ToUniversalTime().ToString("MM/dd/yyyy hh:mm tt");
然后你可以应用AddHours()
函数来调整时区差异。
希望这可能有所帮助。
输入 datetime-local
需要大写字母 T 作为日期时间。
阅读此处:https://www.w3.org/TR/html-markup/input.datetime-local.html
示例:2016-03-23T05:47:48
所以你可以这样做:
var localDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Replace(' ','T');
inputDate.Value = localDateTime;
如果您在日期格式方面遇到问题,可以使用下面提到的 DateTime.ToString() 的重载版本。
DateTime.Now.ToString("MM/dd/yyyy hh:mm tt",
System.Globalization.CultureInfo.InvariantCulture);
无论您的服务器计算机的文化设置如何,它都会强制执行您指定的格式。
html5 输入本地日期时间
var localDateTime = DateTime.Now.ToString("s");
inputDate.Value = localDateTime;
这是我在 aspx 文件中声明文本字段的方式:
<input type="datetime-local" class="form-control" id="inputDate" runat="server">
在我的 aspx.cs 文件页面加载:
inputDate.Value = DateTime.Now.ToString("MM/dd/yyyy hh:mm tt");
我的目标是当页面加载时,inputDate 字段包含具有这种 "MM/dd/yyyy hh:mm tt" 格式的当前日期
但它不起作用。什么都没有发生。
在经典的 ASP.NET WebForm 中,您可以尝试以下操作:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>TEST</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
在后面的代码中:
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = DateTime.Now.ToString("MM/dd/yyyy hh:mm tt");
}
此外,您可以使用 ASP.NET Label
控件来实现只读功能,而不是 TextBox
。这将 return 与服务器时区相关的 DateTime
值。为了实现世界时使用:
TextBox1.Text = DateTime.Now.ToUniversalTime().ToString("MM/dd/yyyy hh:mm tt");
然后你可以应用AddHours()
函数来调整时区差异。
希望这可能有所帮助。
输入 datetime-local
需要大写字母 T 作为日期时间。
阅读此处:https://www.w3.org/TR/html-markup/input.datetime-local.html
示例:2016-03-23T05:47:48
所以你可以这样做:
var localDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Replace(' ','T');
inputDate.Value = localDateTime;
如果您在日期格式方面遇到问题,可以使用下面提到的 DateTime.ToString() 的重载版本。
DateTime.Now.ToString("MM/dd/yyyy hh:mm tt",
System.Globalization.CultureInfo.InvariantCulture);
无论您的服务器计算机的文化设置如何,它都会强制执行您指定的格式。
html5 输入本地日期时间
var localDateTime = DateTime.Now.ToString("s");
inputDate.Value = localDateTime;