C#ではどのようにして文字列を解析しますか"dd/mm/yyyy"
または"dd-mm-yyyy"
をdatetimeに変換しますか? 文字列が正しい形式でないというエラーが表示されます。私はそれらのうちの1つだけでなくすべてのフォーマットを解析できる必要があります。日付形式の文字列をdatetimeに構文解析する
答えて
mm
は分を意味し、大文字のはを意味します。だから、この作品
:
それとは別に、あなたが日付の区切りとして/
で文字列を解析する場合は、この交換用あなたの現在のカルチャの日付の区切りのための文字ですので、CultureInfo.InvariantCulture
を使用する必要が
DateTime.ParseExact("23/07/2013", "dd/MM/yyyy", CultureInfo.InvariantCulture);
mm対MMの+1。 – Corak
指定された形式でDateTime.ParseExact
メソッドを使用できます。
var d = DateTime.ParseExact(token, "dd-MM-yyyy",
CultureInfo.InvariantCulture,
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal);
フォーマット文字列が間違っています。 「mm」は月ではなく分です。 –
@JohnKoernerはそれをキャッチしてくれてありがとう。 – doogle
受け入れる予定のデータ形式を定義する必要があります。すべてのフォーマットのようなものはありません。あなたはDateTime.ParseExact
にフォーマット列を渡すことができることを定義したら、あなたのコードは次のようになります。
string[] formats = new string[2] {"dd/MM/yyyy", "dd-MM-yyyy"};
string date = "23-02-2013";
try
{
DateTime result = DateTime.ParseExact(date, formats, CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
}
catch (FormatException)
{
// your error handling code here
}
あなたが好きなフォーマットを定義することができます - プラスあなたが与えられた文化のデフォルトのリストを取得することができます。
var ci = new CultureInfo("en-US");
var formats = new[] { "M-d-yyyy", "dd-MM-yyyy", "MM-dd-yyyy", "M.d.yyyy", "dd.MM.yyyy", "MM.dd.yyyy" }
.Union(ci.DateTimeFormat.GetAllDateTimePatterns()).ToArray();
DateTime.ParseExact("07/23/2013", formats, ci, DateTimeStyles.AssumeLocal).Dump();
DateTime.ParseExact("07-23-2013", formats, ci, DateTimeStyles.AssumeLocal).Dump();
DateTime.ParseExact("23-07-2013", formats, ci, DateTimeStyles.AssumeLocal).Dump();
DateTime.ParseExact("23.07.2013", formats, ci, DateTimeStyles.AssumeLocal).Dump();
出力:
7/23/2013 12:00:00 AM
7/23/2013 12:00:00 AM
7/23/2013 12:00:00 AM
7/23/2013 12:00:00 AM
- 1. 日付形式の日付文字列をwinformで解析する。
- 2. DateTime形式の文字列を解析する
- 3. HaskellのYYYY-MM-DD形式の文字列から日付を解析する
- 4. C#の文字列からDateTimeまでの日付解析。
- 5. 日付文字列を日付で変換しますDateTime形式vb.net
- 6. 文字列を正しい日付形式に解析できません
- 7. 日付は文字列形式です
- 8. Pythonの日付解析の文字列
- 9. Javaの解析文字列の日付
- 10. SparkのDateTimeに複数の文字列の日付形式を含むキャスト列
- 11. Swift 3の解析日付文字列
- 12. 文字列の解析日付
- 13. Pythonで文字列の日付をdatetime形式に変換する方法は?
- 14. 形式の文字列ddMMMyyyy hhmm(Month-Name付き)からの解析日時
- 15. DateTime文字列を解析する
- 16. 日付を構文解析する
- 17. 文字列をdatetime形式に変換
- 18. 日付解析例外JSON文字列
- 19. MSGファイル形式の構文解析
- 20. xmlフィードからDateTimeまでの日付文字列を解析します。
- 21. WPFのカスタムDateTime文字列形式
- 22. 文字列形式のSQL datetime
- 23. 特定の形式の文字列を解析する
- 24. 日付をカスタム形式の文字列に変換する
- 25. 文字列を特定の日付形式に変換する
- 26. 文字列を特定の日付形式に変換する
- 27. 多次元配列形式のクエリ文字列を実際の配列に構文解析する
- 28. C#でRFC-1123の日付形式を使用し、火曜日の日付の構文解析の問題
- 29. 日付文字列をNodaTimeオブジェクトに解析するには?
- 30. 文字列を日付形式dd-MMM-yyyy形式に変換するには?
私達にあなたのコードを表示します。 – SLaks
"dd/mm/yyyy"形式と "mm/dd/yyyy"形式の両方が存在する場合、12月またはそれ以前の日付はあいまいでなければなりません - すべての形式を解析できる必要があります - それはコンピュータによって解決できない問題です。 –
あなたが試したコードを私たちに教えてください。 –