我有一个用C#编写的类库,用于将错误和其他信息写入文本或日志文件.问题是它在将文本写入文件时正在改变文本.它由vb.net应用程序调用.
应该写的文字: 02-20-2017 08:17:42 - Personality Update() beginning:
实际写的文字: 02-20-2017 08:17:42 - Per42onaliA17 Up20aAe() beA.D.inninA.D.:
下面是调用该方法来写出字符串的代码.
errHandler.AddLineToLogFile(Me.MasterLogFileName, "Personality Update() beginning:")
Run Code Online (Sandbox Code Playgroud)
以下是被调用的方法.
public void AddLineToLogFile(string logFile, string message, bool replaceExistingFile = false)
{
DateTime now = DateTime.Now;
using (StreamWriter writer = new StreamWriter(logFile, !replaceExistingFile))
{
writer.WriteLine(now.ToString("MM-dd-yyyy HH:mm:ss - " + message));
writer.WriteLine(" ");
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
您将消息作为日期格式的一部分传递.与已知格式匹配的部件将替换为值now.格式化后添加消息DateTime:
now.ToString("MM-dd-yyyy HH:mm:ss") + " - " + message
Run Code Online (Sandbox Code Playgroud)
s=第二个(42)t= AM/PM指示符的第一个字符(A)y=年份,从0到99(17)d=一天(20)g=时期或时代(A.D.)这就是为什么
MM - dd - yyyy HH:mm:ss - Per s onali ty up d a t e()be g innin g:
变
02-20-2017 08:17:42 - Per42onaliA17 Up20aAe()beA.D.inninA.D.:
可以在MSDN上找到自定义日期格式的完整列表