ASP.net-C#设置输入类型:datetime local到当前日期

ASP.net-C#设置输入类型:datetime local到当前日期,c#,asp.net,datetime,datetime-format,bootstrapping,C#,Asp.net,Datetime,Datetime Format,Bootstrapping,以下是我在aspx文件中声明文本字段的方式: <input type="datetime-local" class="form-control" id="inputDate" runat="server"> 我的目标是,当页面加载时,inputDate字段包含此“MM/dd/yyyy hh:MM tt”格式的当前日期 但它不起作用。什么都没发生 在经典ASP.NET Web表单中,您可以尝试以下操作: <!DOCTYPE html> <html xmlns="ht

以下是我在aspx文件中声明文本字段的方式:

<input type="datetime-local" class="form-control" id="inputDate" runat="server">
我的目标是,当页面加载时,inputDate字段包含此“MM/dd/yyyy hh:MM tt”格式的当前日期


但它不起作用。什么都没发生

在经典ASP.NET Web表单中,您可以尝试以下操作:

<!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>
此外,您可以使用ASP.NET
Label
控件来实现只读功能,而不是
TextBox
。这将返回与服务器时区相关的
DateTime
值。为了实现通用时间使用:

TextBox1.Text = DateTime.Now.ToUniversalTime().ToString("MM/dd/yyyy hh:mm tt");
然后,您可以应用
AddHours()
函数调整时区差异


希望这能有所帮助。

输入的
datetime local
要求日期时间为大写字母T。 请看这里:

示例:2016-03-23T05:47:48

所以你可以这样做:

var localDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Replace(' ','T'); 
inputDate.Value = localDateTime;

如果日期格式有问题,可以使用的重载版本,如下所述

DateTime.Now.ToString("MM/dd/yyyy hh:mm tt",
                      System.Globalization.CultureInfo.InvariantCulture);

它将强制您指定的格式,而不管您的服务器机器具有什么文化设置。

html5 input datetime local

var localDateTime = DateTime.Now.ToString("s"); 
inputDate.Value = localDateTime;

到底是什么不起作用?你有什么结果吗?请澄清。嗨,什么都没发生。@Katherine您可能需要先编译您的解决方案。按CTRL+SHIFT+B并尝试重新加载页面。您好!谢谢这个问题已经解决了。您可以将T添加到格式说明符中<代码>yyyy MM ddTHH:MM此日期时间选择器未打开。
DateTime.Now.ToString("MM/dd/yyyy hh:mm tt",
                      System.Globalization.CultureInfo.InvariantCulture);
var localDateTime = DateTime.Now.ToString("s"); 
inputDate.Value = localDateTime;