怎么显示实时系统时间
写了个小程序,就是在窗体上显示系统实时时间
现在是运行的时候,显示的是系统当前的时间
并不实时
请问怎么才能实时呢
------解决方案--------------------Clock.start()是让时钟启动,开始计时。
timer1.Enable=true;
可以在设计界面改变这个属性。
------解决方案--------------------this.Clock.Start();好歹也在放在this.Clock.Elapsed+=new System.Timers.ElapsedEventHandler(Clock_Elapsed); 后执行
最好放在form1_Load里执行
getTime方法最好这么写
C# code
  public string GetTime()
  {
  return Datetime.Now.toString("HH:mm:ss");
  }
------解决方案--------------------
C# code
        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Interval = 1000;
            timer1.Start();
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            TimeSpan ts = new TimeSpan(Environment.TickCount * TimeSpan.TicksPerMillisecond);
            string TempStr = string.Format("系统已经运行时间:{0:d2}天 {1:d2}时 {2:d2}分 {3:d2}秒", ts.Days, ts.Hours, ts.Minutes, ts.Seconds);
            DateTime dt = DateTime.Now;
            string TempStr2 = DateTime.Now.ToString("    系统当前时间:yyyy/MM/dd HH:mm:ss");
            this.Text = TempStr + "   " + TempStr2;
        }
------解决方案--------------------
原来楼主用的是System.Timers下的。
那就必须要在Form_Load中Clock.Start();
另外GetTime()方法写得太复杂。一句就可以 return DateTime.Now.ToLongTimeString();
------解决方案--------------------
------解决方案--------------------
在工具箱里,拖入一个label控件,双击控件。
在方法里面写代码如下:
label1.Text = DataTime.Now.ToString();
------解决方案--------------------
        private void Form1_Load(object sender, EventArgs e)
 ?       {
 ?           TimerManage()
 ?       }
 ?       private void TimerManage()
 ?       {
 ?           int Ti = 1;
 ?           this.timer1.Interval = Ti * 1000;
 ?           this.timer1.Tick -= new EventHandler(SendManage);
 ?           this.timer1.Tick += new EventHandler(SendManage);
 ?           this.timer1.Enabled = true;
 ?       }
 ?       private void SendManage(object sender, EventArgs e)
 ?       {
 ?          label1.Text = DataTime.Now.ToString();
 ?       }
------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
{
 ?   System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
 ?   timer1.Tick += new EventHandler(timer1_Tick);
 ?   timer1.Interval = 1000;
 ?   timer1.Start();
}
void timer1_Tick(object sender, EventArgs e)
{
 ?   button1.Text = DateTime.Now.ToString();
}
------解决方案--------------------
你用System.Timers.Timer timer是无法访问窗体上的控件的,请使用System.Windows.Forms.Timer timer1
------解决方案--------------------
你先得获取服务器时间而不是本地时间,然后用TIMER做就可以了
SELECT CONVERT(CHAR(19),GETDATE(),121),要具体的时间格式可以参照帮助文档
或者使用API先同步服务器的时间到本地来,代码如下:
public struct SYSTEMTIME
 ?       {
 ?           public ushort wYear;
 ?           public ushort wMonth;
 ?           public ushort wDayOfWeek;
 ?           public ushort wDay;
 ?           public ushort wHour;
 ?           public ushort wMinute;
 ?           public ushort wSecond;
 ?           public ushort wMilliseconds;