将TimeStamp附加到文件名
我遇到过几次这个问题,我想在同一个目录下有同一个文件的多个版本。 我一直在使用C#的方式是通过在文件名中添加一个时间戳,像这样DateTime.Now.ToString().Replace('/', '-').Replace(':', '.')
。 有一个更好的方法吗?
你可以使用DateTime.ToString方法(String)
DateTime.Now.ToString("yyyyMMddHHmmssfff")
或者string.Format
string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}",DateTime.Now)
;
(年),M(月),d(天),h(小时12),H(小时24),m(分钟),s(秒),f(第二小数),F (第二部分,尾随零被修剪),t(PM或AM)和z(时区)。
用扩展方法
用法:
string result = "myfile.txt".AppendTimeStamp(); //myfile20130604234625642.txt
扩展方法
public static class MyExtensions { public static string AppendTimeStamp(this string fileName) { return string.Concat( Path.GetFileNameWithoutExtension(fileName), DateTime.Now.ToString("yyyyMMddHHmmssfff"), Path.GetExtension(fileName) ); } }
我更喜欢使用:
string result = "myFile_" + DateTime.Now.ToFileTime() + ".txt";
也许追加DateTime.Now.Ticks
,是因为你不会创build3个string,而且ticks的值也是唯一的,所以速度要快一点。
你可以使用下面的代码:
DateTime.Now.Ticks
您可以使用:
Stopwatch.GetTimestamp();