ファイル名にタイムスタンプを追加する 質問する

ファイル名にタイムスタンプを追加する 質問する

同じディレクトリに同じファイルの複数のバージョンを置きたいのですが、この問題に何度か遭遇しました。 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)
            );
    }
}

おすすめ記事