Hello Guyz我有这个小问题,关于DateandTime这是我的代码
labelDateAndTime.Text = DateTime.Now.ToString("yyyy,MM hh:mm:ss tt");
我的问题是时间不动(改变)。但它得到了正确和准确的时间 每当我运行我的程序
答案 0 :(得分:2)
问题在于令人耳目一新。您可以在应用程序中添加计时器,在计时器刻度事件中,您可以刷新标签中的文本。希望这会有所帮助。
答案 1 :(得分:2)
您可以创建一个循环,每隔一秒刷新一次日期时间。
样本。
while(true)
{
labelDateAndTime.Text = DateTime.Now.ToString("yyyy,MM hh:mm:ss tt");
Thread.Sleep(1000); // Sleep one second.
}
以异步方式调用此循环,以便不停止程序。
您还可以创建Timer:
refreshTimer = new Timer(10000);
refreshTimer.Elapsed += new ElapsedEventHandler(YourTimerFunction);
private void YourTimerFunction()
{
labelDateAndTime.Text = DateTime.Now.ToString("yyyy,MM hh:mm:ss tt");
}
两种方法都有效,但Timer更好更准确。
答案 2 :(得分:0)
这是因为DateTime.Now在您调用它的瞬间工作。
答案 3 :(得分:0)
这是一次性任务。您将当前时间转换为字符串并将其分配给Label。当然它不会改变,你没有编写代码来改变它。查看各种Timer
类。
答案 4 :(得分:0)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Page Language="C#" %>
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled 1</title>
<script runat="server" type="text/c#">
protected void Timer1_Tick(object sender, EventArgs e)
{
Label1.Text = "Panel refreshed at: " +
DateTime.Now.ToLongTimeString();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" id="ScriptManager1">
</asp:ScriptManager>
<asp:UpdatePanel runat="server" id="UpdatePanel1">
<ContentTemplate>
<asp:Timer runat="server" id="Timer1" Interval="10000" OnTick="Timer1_Tick"> </asp:Timer>
<asp:Label runat="server" Text="Page not refreshed yet." id="Label1">
</asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Label runat="server" Text="Label" id="Label2"></asp:Label>
</form>
</body>
</html>