1. ホーム
  2. c#

[解決済み] yyyy-dd-MM形式の日付におけるDateTime.TryParseの問題

2023-03-07 06:52:48

質問

次のような文字列形式の日付があります "2011-29-01 12:00 am" 。今、私は次のコードでそれをdatetime形式に変換しようとしています。

DateTime.TryParse(dateTime, out dt); 

しかし、私は常にdtが{1/1/0001 12:00:00 AM}と表示されます。 その理由と、その文字列を日付に変換する方法を教えてください。

EDIT: 私はちょうど皆がformat引数を使用することに言及したのを見ました。私は、ユーザーが望むカスタム日付フォーマットを選択するためのいくつかの設定を持っており、それに基づいて、ユーザーはjQuery datepickerを介して自動的にそのフォーマットでテキストボックスに日付を取得することができますので、私はformatパラメータを使用することができないことを今言っておきます。

どのように解決するのですか?

これは、あなたの例 "2011-29-01 12:00 am" に基づいて動作するはずです。

DateTime dt;
DateTime.TryParseExact(dateTime, 
                       "yyyy-dd-MM hh:mm tt", 
                       CultureInfo.InvariantCulture, 
                       DateTimeStyles.None, 
                       out dt);