我有以下日志到文本文件方法: 我想包括这样的时间戳(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");
答案 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
- 秒。
有关详情,请参阅此处:DateTime custom formats