質問

I'm getting FormatException with this piece of code

string yyyy = OPENING_DATE.Substring(0, 4);
string mm = OPENING_DATE.Substring(4, 2);
string dd = OPENING_DATE.Substring(6, 2);
ncbaccount.Date_Opened = string.Format("{1}/{2}/{3}",dd,mm,yyyy);

PROBLEM: OPENING_DATE is like '20140317'

SOLUTION: I want a string like '17/03/2014'

Thanks

役に立ちましたか?

解決 2

Replace {1}/{2}/{3} with {0}/{1}/{2} as it begins at 0.

Ex:

string yyyy = OPENING_DATE.Substring(0, 4);
        string mm = OPENING_DATE.Substring(4, 2);
        string dd = OPENING_DATE.Substring(6, 2);
        ncbaccount.Date_Opened = string.Format("{0}/{1}/{2}", dd, mm, yyyy);

他のヒント

Instead of splitting your date string, then formatting it and parsing, you can use DateTime.ParseExact and provide format of date string:

DateTime date = 
     DateTime.ParseExact(OPENING_DATE, "yyyyMMdd", CultureInfo.InvariantCulture);

Only change this line

string.Format("{0}/{1}/{2}", dd, mm, yyyy);

More over you should be using DateTime Functions to parse date and times.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top