1

このコード行 (以下) で、ParseExact 関数が入力文字列の実際の日付ではなく、一見ランダムな日付をどこからともなく返している理由を誰か教えていただけないでしょうか?

            foreach (Car c in cars)
        {
            Car obj = new Car();
            obj.CarID = c.CarID;
            obj.Reg = c.Reg;
            obj.Make = c.Make;
            obj.Model = c.Model;
            obj.Mileage = c.Mileage;
            if(c.LastInspection != null && c.LastInspection != "N/A")
            {
                obj.LastInspectionDate = DateTime.ParseExact(c.LastInspection, "yyyy'/'mm'/'dd", null);
            }
            obj.StaffID = c.StaffID;
            obj.OfficeID = c.OfficeID;
            carsDate.Add(obj);
        }

        return carsDate;

私の記録の 1 つで、'c.LastInspection' = "2013/06/08" ですが、何らかの理由で、上記のコードを使用してその文字列を解析するたびに、'obj.LastInspectionDate' が "Tuesday 08/01/2013" に変更されます。 00:06:00". 今は日付を保存するためだけに使用しているので、日付と時刻は気にしませんが、明らかに間違った日付です! コードを何度も実行しましたが、何が間違っているのかわかりません。何か案は?

4

1 に答える 1

7

フォーマット文字列を に変更mmします。MM

mmis: 00 から 59 までの分。

MMis: 01 から 12 までの月。

MSDNでカスタムの日付と時刻の形式文字列のリストを確認してください。

mm 06入力文字列から使用したため、分として取得されます。また、指定された月がないため1、デフォルトとして使用されます。

于 2013-03-22T20:28:22.640 に答える