同じディレクトリに同じファイルの複数のバージョンを置きたいのですが、この問題に何度か遭遇しました。 C# を使用してこれを実行する方法は、次のようにファイル名にタイムスタンプを追加することですDateTime.Now.ToString().Replace('/', '-').Replace(':', '.')
。 これを行うより良い方法はありますか?
ベストアンサー1
使用できますDateTime.ToString メソッド (文字列)
DateTime.Now.ToString("yyyyMMddHHmmssfff")
または文字列.フォーマット
string.Format("{0:yyyy-MM-dd_HH-mm-ss-fff}", DateTime.Now)
;
または補間文字列
$"{DateTime.Now:yyyy-MM-dd_HH-mm-ss-fff}"
次のカスタム書式指定子があります: y (年)、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)
);
}
}