用 DateTime dt = DateTime.Now 获取系统时间 只是取当前的时间 静态的显示 
如何让秒,分,时…… 在控制台上是动态的显示 像电子手表上显示的时间那样

解决方案 »

  1.   

    AJax   或者.NET 自己的AJAX  
      

  2.   

    如果是asp.net,那还是用脚本吧,如果是winform,那可以考虑用timer定时器做
      

  3.   

    <script type="text/javascript"> 
    document.write("<span id=labTime width='118px' height='11px' Font-Size='9pt'></span>") //输出显示日期的容器 
    //每1000毫秒(即1秒) 执行一次本段代码 
    setInterval("labTime.innerText=new Date().toLocaleString()",1000)  
    </script>
    ---------------------------复制到html里 就可以了。
      

  4.   

    private void timer1_Tick(object sender, EventArgs e)
            {
                DateTime dt = DateTime.Now;
                label1.Text = dt.ToString();
            }        private void Form1_Load(object sender, EventArgs e)
            {
                timer1.Enabled = true;
            }搞个Timer,Interval设为1000,反正显示也是1秒一秒来的
      

  5.   

    如果是winform 用timer空间就行 interval属性设置为1000 private void timer1_Tick(object sender, EventArgs e)
            {
                this.label2.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
            }
    如果是webform 就要用ajax1秒去后台取一次
    直接用js实现的 显示的是客户端的时间
      

  6.   

    你随便弄个控件比如是label,再弄个timer!然后你的设计窗体下面就有timer了。点它按F4,改其属性里行为的2项,第一个Enabled   True,第2个Interval改成999. 
    然后双击你的timer控件,里面写this.label1.Text=DateTime.Now.ToString(),最后你双击你当前的窗体,在Form1_Load里再写一行this.label1.Text=DateTime.Now.ToString()!保证就OK了。   
      

  7.   

    在窗体上添加一个Label,然后:
            private void Form_Load(object sender, EventArgs e)
            {
                Timer time = new Timer();
                time.Enabled = true;
                time.Interval = 1000;
                time.Tick += timerCD_Tick;
            }        private void timerCD_Tick(object sender, EventArgs e)
            {            
                this.labInfor.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            }
      

  8.   

    在控制台中? 应该要用到线程:
    using System;
    using System.Text;
    using System.Threading;
    using System.Collections.Generic;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Thread ss = new Thread(timerCD_Tick);
                ss.Start();
            }        private static void timerCD_Tick()
            {
                while (true)
                {
                    Console.Write(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    Thread.Sleep(1000);
                    for (int i = 0; i < 19; i++)
                    {
                        Console.Write('\b');
                    }
                }
            }
        }
    }
      

  9.   


    要的就是这个 多谢仁兄了 楼上的timer也谢了 两种方法都学会了!
      

  10.   

    如果是asp.net 用js 或者 ajax不过建议还是用 js ,用ajax 1秒刷新一次,浪费服务器资源不划算 
      

  11.   

    1、C/S 编码,使用 timer, 步长设置为 1秒
    2、B/S 编码,页面加载首先后台获取,然后与前台的客户端时间比对时间差,然后使用js代码实现,比如这个函数 setInterval,步长设置为  1000毫秒
      

  12.   

    新的方法:
    在控制台应用程序中添加System.Windows.Form引用。然后动态生成Timer。
      

  13.   

    今天发现了一个更佳的方法:using System;
    using System.Text;
    using System.Timers;
    using System.Collections.Generic;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                Timer myTimer = new Timer(1000);
                myTimer.Elapsed += new ElapsedEventHandler(WriteTime);
                myTimer.Start();            Console.ReadKey();
            }        static void WriteTime(object source, ElapsedEventArgs e)
            {
                for (int i = 0; i < 19; i++)
                {
                    Console.Write('\b');
                }
                Console.Write(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            }
        }
    }
      

  14.   

     private void Form1_Load(object sender, EventArgs e)
            {
                this.label1.Text = DateTime.Now.ToString();
                 
            }        private void timer1_Tick(object sender, EventArgs e)
            {
                this.label1.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");        }
    //timer1的属性设置  enabled=true,Interval=1000