日志文件未显示时间戳的毫秒数

时间:2014-02-27 16:42:18

标签: c#

我有以下日志到文本文件方法: 我想包括这样的时间戳(2014-01-23 09:42:20.020 AM) 但是当我查看我的日志文件时,它不包括.020时间。我错过了格式化的东西吗?

// Build timestamp string
var currentDateTime = DateTime.Now;
string timeStampString =   currentDateTime.ToString("ddMMyyyy_HHmmssms");

// Build filename  messages, concat timestamp and .txt extension.
string debugFileName = "C:\\Test" + timeStampString  + ".txt";
var inboundMessageLog = new StreamWriter(debugFileName, false, System.Text.Encoding.Default);
// Write to the file:
inboundMessageLog.WriteLine(DateTime.Now);
inboundMessageLog.WriteLine("TimeStampString = {0}", timeStampString);
inboundMessageLog.WriteLine("Inbound message = {0}", strMessage);
inboundMessageLog.Close();
// -------------------------------------------------------------------------------------------

}

感谢您的时间。

更新

此格式:

   string  timeStampString = currentDateTime.ToString("yyyy-MM-dd hh:mm:ss:fff tt") or .fff tt; 

对我不起作用。我只在使用

时看到我的日志
   string timeStampString = currentDateTime.ToString("yyyyMMdd hhmmss");

1 个答案:

答案 0 :(得分:6)

问题:您正在使用ms来表示毫秒数。

解决方案:没有自定义格式ms 您需要使用fff来表示MilliSeconds

  

fff 日期和时间值中的毫秒数。

如果您想以(2014-01-23 09:42:20.020 AM)

的格式获取日期和时间

您需要使用此格式yyyy-MM-dd hh:mm:ss.fff tt

试试这个:

string timeStampString = currentDateTime.ToString("yyyy-MM-dd hh:mm:ss.fff tt");

编辑:如果您希望将自定义格式设为dd-MM-yyyy_HH:mm:ss:fff

试试这个:

string timeStampString = currentDateTime.ToString("dd-MM-yyyy_HH:mm:ss:fff tt");

<强>解释

yyyy - 年份,共4位数字 两个数字MM - dd - 日期两位数

hh - 小时两位数 mm - 分钟两位数 两位数的ss -

fff - 毫秒
tt - AM PM

有关详情,请参阅此处:DateTime custom formats