DateandTime,关于秒

时间:2013-06-07 07:18:09

标签: c# datetime timer

Hello Guyz我有这个小问题,关于DateandTime这是我的代码

labelDateAndTime.Text = DateTime.Now.ToString("yyyy,MM hh:mm:ss tt");

我的问题是时间不动(改变)。但它得到了正确和准确的时间 每当我运行我的程序

5 个答案:

答案 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>