Daniel Lip
Daniel Lip

Reputation: 11319

How to create directory with the pc current date time format?

private void CreateDir(string Folder)
{
    // Sample on Sun 01.12.2014 At 09.13 AM
    string locationToCreateFolder = Folder;
    string folderName = "";
    string date = DateTime.Now.ToString("ddd MM.dd.yyyy");
    string time = DateTime.Now.ToString("HH.mm tt");
    string format = "{0} on {1} At {2}";
    folderName = string.Format(format, date, time);
    Directory.CreateDirectory(locationToCreateFolder + folderName);
}

This gives me exception on the line :

folderName = string.Format(format, date, time);

The line was in original :

folderName = string.Format(format, textBox1.Text, date, time);

but I don't have textBox1 control.

System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args) at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args) at System.String.Format(String format, Object arg0, Object arg1)

Upvotes: 0

Views: 82

Answers (1)

pm100
pm100

Reputation: 50190

bad format string

string format = "{0} on {1} At {2}"; <<<== 3 args
folderName = string.Format(format, date, time); <<<<=== 2 supplied

you need

string format = "made on {0} At {1}";
folderName = string.Format(format, date, time);

or even

folderName = $"made on {date} at {time}";

Upvotes: 4

Related Questions