簡體   English   中英

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”格式的當前日期

但它不起作用。 什么都沒有發生。

輸入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;

html5 輸入日期時間-本地

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

如果您在日期格式方面遇到問題,您可以使用下面提到的DateTime.ToString()的重載版本。

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

無論您的服務器機器具有什么文化設置,它都會強制執行您指定的格式。

在經典的 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來實現只讀功能。 這將返回與服務器時區相關的DateTime值。 為了實現世界時使用:

TextBox1.Text = DateTime.Now.ToUniversalTime().ToString("MM/dd/yyyy hh:mm tt");

然后您可以應用AddHours()函數來調整時區差異。

希望這可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM