私はそのような質問がここにたくさんあることを知っています. 一度通ってください
string
2012 年 10 月 9 日など、現在の日付のテキスト ボックスから来ています。私のクラス プロパティはDateTime?
型です。私は使用してConvert.ToDateTime(datetime_string_from_textbox)
いますが、それは私にFormatException
. ここでDateTime.ParseExact(string, format, CultureInfo, DateTimeStyle)
Jon Skeetの提案に従って試しましたが、それでも同じ例外が発生しました。
もう 1 つ — 私のローカル マシンの日時形式はdd-mm-yyyy
. これをmm/dd/yyyy
フォーマットに切り替えると、コードは正常に機能します。DateTime
したがって、基本的に、地域の設定、設定、またはローカルマシンへの依存関係に関係なく、有効な日時文字列をオブジェクトに解析する方法を知りたいです。
これは可能ですか?
更新:使用中のコード
employee.JoiningDate = DateTime.ParseExact(string.Format("{0} 00:00:00", JoiningDate.Text.Trim()), "MM/dd/yyyy hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal);
既存の問題と必要な解決策
私のシステムの日時は 2012 年 10 月 24 日 (つまり、10 月 24 日) を示しており、テキスト ボックスの日付も有効であるため、テキスト ボックスには 2012 年 10 月 17 日 (つまり、10 月 17 日) があり、デプロイ後に再びクライアントの日時が表示されます。形式が不明になるため、地域の設定に関係なく、有効な日時文字列を解析する一般的な方法が必要です。これは可能ですか?