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

很奇怪的有关问题 定时器里每隔一秒记录 日期时间 过了24点后 竟然多出一个9

2012-01-10 
很奇怪的问题定时器里每隔一秒记录 日期时间 过了24点后 竟然多出一个9代码如下:private void button4_Cli

很奇怪的问题 定时器里每隔一秒记录 日期时间 过了24点后 竟然多出一个9
代码如下:

private void button4_Click(object sender, EventArgs e)
  {
  // 使用System.Timers.Timer类
  System.Timers.Timer t = new System.Timers.Timer(1000);//实例化Timer类,设置间隔时间为1000毫秒;
  t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
  t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
  t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
   
  }

  public void theout(object source, System.Timers.ElapsedEventArgs e)
  {
  string str = DateTime.Now.ToString();
   
  Encoding.UTF8.GetBytes(str, 0, str.Length, rbyte, 0);
  mywrite.Save(rbyte);
  }

  WriteFile mywrite = new WriteFile("d:\\test1.txt");
  byte[] rbyte = new byte[100];

这是文本文件里记录的日期时间 

2008-9-21 23:59:56  
2008-9-21 23:59:57  
2008-9-21 23:59:58  
2008-9-21 23:59:59  
2008-9-22 0:00:009  
2008-9-22 0:00:019  
2008-9-22 0:00:029





[解决办法]
string str = DateTime.Now.ToString(); 格式化输出试试
[解决办法]
你的系统是啥的? 区域设置是啥? 
你手动把时间调到23:59:50,再试试是否每次都这样?
string str = DateTime.Now.ToString("yyyy-M-d H:m:s"); 试试
[解决办法]
还是进行格式化输出吧。。
最后这个9貌似23:59:59最后的那个9
[解决办法]
string str = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
[解决办法]
因为你的byte[]是全局变量
所以
2008-9-21 23:59:59小时是23 两位 记录完后
2008-9-22 0:00:009
的时间部分小时是0一位,所以少了一位,所有上次那个最后的9就还在

热点排行