0

Stringa をオブジェクトに解析しようとしていDateTimeますが、常にデフォルトで月が 1 に設定されているようです。つまり、月の値が に等しいオブジェクト30/05/1970に変換される文字列を指定するとします。DateTime1

コードは次のとおりです。

    public static DateTime ToDateTime(this String value, String format)
    {
        Contract.Requires(!String.IsNullOrEmpty(value));
        Contract.Requires(!String.IsNullOrEmpty(format));

        DateTime date;
        if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
        {
            return date;
        }           

        throw new ArgumentException("Input value is not a valid date.");
    }

メソッドに渡される形式はdd/mm/yyyy.

何かご意見は?

4

2 に答える 2

10

月に間違った書式指定子を使用しています。

そうではありMMませんmm。現在、月を分として解析しています。

を使用しdd/MM/yyyyます。

于 2012-05-10T13:40:27.887 に答える
1

You're probably specifying an incorrect format.

Do this instead

var dt= ToDateTime("30/05/1970", "dd/MM/yyyy");

And take a look at this: http://www.csharp-examples.net/string-format-datetime/

于 2012-05-10T13:42:36.803 に答える