私は次の形式yyyyMMdd
の文字列を持っていると私はそれがこのように見えるように取得しようとしています:私はしようとすると20121004(yyyyMMdd)を有効な日付時刻に変換しますか?
yyyy-MM-dd
:
string date = "20121004";
Convert.ToDateTime(date).ToString("yyyy-MM-dd");
私はエラーを取得する:
FormatException: String was not recognized as a valid DateTime.
問題:
private string GetValidDate(string date,string format)
{
DateTime result;
if(DateTime.TryParseExact(date, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
{
return date;
}
else if(DateTime.TryParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
{
return DateTime.ParseExact(date, "yyyyMMdd",
CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
}
else
{
return "Invalid Date Format";
}
}
ソース文字列にyyyyMMdd形式が保証されていますか?もしそうなら、文字列メソッドを使ってハイフンを追加するだけではどうですか? – jglouie
私はそれについて考えました。そのための最良の方法は何ですか? – Xaisoft
以下に文字列ベースの回答があります。それは非常に妥当であるようです – jglouie