C#时间戳问题

Pic*_*Egg 1 c# time logging

我正在将程序事件写入txt文件作为日志,但时间戳不会在每个点更新.我已经声明了以下字符串:

string timeStamp = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff");
string taskComplete = (timeStamp) + " Task Complete";
Run Code Online (Sandbox Code Playgroud)

我通过该计划在不同的地方打电话:

using (StreamWriter w_Log = new StreamWriter(file_Log, true))
            {
                w_Log.WriteLine(taskComplete);
                w_Log.Close();
            }
Run Code Online (Sandbox Code Playgroud)

timeStamp通过该程序也可以使用多个字符串进行声明.以下是日志文件的示例:

2014/02/22 10:07:26.71 Process started
2014/02/22 10:07:26.71 Task Complete
2014/02/22 10:07:26.71 Task Complete
2014/02/22 10:07:26.71 Process complete, time elapsed: 0.496 seconds
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,即使完成时间为49毫秒,时间似乎也是静态的.当程序再次运行时,时间已经变为当前时间但是同样的问题,写入的时间始终相同.

我是否需要使用其他方法,或者我是否正确使用此方法?

Hae*_*ian 7

因此,在步骤1中,您将字符串定义为DateTime.Now具有特定格式

在每一点上,你只是显示相同的字符串.字符串是固定的,DateTime.Now每次运行时都不会调用它.

所以如果你想改变它 - 你DateTime.Now每次都需要打电话.

w_Log.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff") + " Task Complete ");
Run Code Online (Sandbox Code Playgroud)