首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如何显示实时系统时间

2012-04-26 
怎么显示实时系统时间写了个小程序,就是在窗体上显示系统实时时间现在是运行的时候,显示的是系统当前的时

怎么显示实时系统时间
写了个小程序,就是在窗体上显示系统实时时间
现在是运行的时候,显示的是系统当前的时间
并不实时
请问怎么才能实时呢

[解决办法]
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();
[解决办法]
探讨
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = DataTime.Now.ToString();
}
界面里面拖个Timer控件就可以了,属性设置里面设置timer的Enable=true;Interval=1000ok,绝对没问题

[解决办法]
在工具箱里,拖入一个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;



? /// <summary>
? /// 从System.DateTime转换。
? /// </summary>
? /// <param name="time">System.DateTime类型的时间。</param>
? public void FromDateTime(DateTime time)
? {
? wYear = (ushort)time.Year;
? wMonth = (ushort)time.Month;
? wDayOfWeek = (ushort)time.DayOfWeek;
? wDay = (ushort)time.Day;
? wHour = (ushort)time.Hour;
? wMinute = (ushort)time.Minute;
? wSecond = (ushort)time.Second;
? wMilliseconds = (ushort)time.Millisecond;
? }
? /// <summary>
? /// 转换为System.DateTime类型。
? /// </summary>
? /// <returns></returns>
? public DateTime ToDateTime()
? {
? return new DateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds);
? }
? /// <summary>
? /// 静态方法。转换为System.DateTime类型。
? /// </summary>
? /// <param name="time">SYSTEMTIME类型的时间。</param>
? /// <returns></returns>
? public static DateTime ToDateTime(SYSTEMTIME time)
? {
? return time.ToDateTime();
? }
? }
? ?
? [DllImport("CoreDll.dll")]
? public static extern bool MessageBeep(BeepType beepType);

? [DllImport("CoreDll.dll")]
? public static extern bool SetLocalTime(ref SYSTEMTIME Time);
? [DllImport("CoreDll.dll")]
? public static extern void GetLocalTime(ref SYSTEMTIME Time);
[解决办法]
在工具栏里托一个TIMER空间到你的窗口上,默认的叫TIMER1 你给他改个你喜欢的名字,比如的NowTimer
把他的属性中的Enable改成True,Interval 改成1000(或者可以100,程序效率低点,但是精确度高一点)
然后在窗口上双击你的NowTimer创建它的
void NowTimer_Tick(object sender, EventArgs e)
{
}
函数,在里面写上
Label.Text=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
当然Label是你要显示时间的标签控件的名字

在你要开始计时的函数(比如Form_Load)里面写上NowTimer.Start()开始计时

这样够简单具体吧

热点排行