0

文字列形式の日付を含む文字列の配列を変換しようとしています

 private string[] ex = new string[]{
         "29-06-2017","29-12-2016","30-06-2016","31-12-2015","25-06-2015","24-12-2014","26-06-2014","26-12-2013"};

そして、10進配列にキャストしたいのですが、以下のコードを使用しましたが、機能しません。

 public void load()
    {
        DateTime[] exDate=Array.ConvertAll(ex, new Converter<string, DateTime>(convertDecimal)); 
        List<DateTime> expiryDate = new List<DateTime>();
        expiryDate.AddRange(exDate);
        expiryDate.Sort();
        _expiryDate=expiryDate;
    }

    public static DateTime convertDecimal(string strgDate)
    {
        return DateTime.Parse(strgDate);
    }

私が得ているエラーは次のとおりです。

"String was not recognized as a valid DateTime."
4

2 に答える 2

1
var dates = ex.Select(d => DateTime.ParseExact(d, "dd-MM-yyyy", CultureInfo.InvariantCulture))
              .ToList();
于 2012-09-01T07:38:25.797 に答える
0

次のように変換してみてください。

public static DateTime convertDecimal(string strgDate)
{
    return DateTime.ParseExact(strgDate, "yyyy-MM-dd",
                    System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None));

}
于 2012-09-01T07:36:06.607 に答える