ホームページ > バックエンド開発 > C++ > 「文字列は有効なデータタイムとして認識されていない」エラーを解決する方法は?

「文字列は有効なデータタイムとして認識されていない」エラーを解決する方法は?

Mary-Kate Olsen
リリース: 2025-01-27 00:36:08
オリジナル
828 人が閲覧しました

How to Solve the

「文字列は有効な日付時刻として認識されていない」エラー:日付時刻のフォーマット

文字列をDateTimeオブジェクトに変換する場合、正しい形式を指定することが非常に重要です。そうしないと、「文字列は有効な日付時間として認識されない」エラーが発生します。このエラーは通常、予想される形式と一致しない文字列形式によって引き起こされます。

たとえば:

このコードは、デフォルト形式で文字列をDateTimeオブジェクトに変換しようとしますが、文字列は「DD/mm/yyyy」形式に従います。この問題を解決するには、datetime.parsexact()方法を使用してください。

2番目のパラメーターで形式を指定することにより、parseeexact()は文字列の正しい分析を確保できます。

<code class="language-csharp">this.Text="22/11/2009";
DateTime date = DateTime.Parse(this.Text);</code>
ログイン後にコピー
iformatproviderとその使用

iformatproviderパラメーターを使用すると、カスタム形式プロバイダーを使用してデフォルトの地域設定をカバーできます。ただし、この例では、予想される形式が文字列変換で明確に指定されているため、カスタム形式の手順をカスタマイズする必要はありません。
<code class="language-csharp">DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy", null);</code>
ログイン後にコピー

解析とparseeexactの違い

Parse:現在の地域設定に基づいてデフォルト形式を使用して、文字列をDateTimeオブジェクトに解決してみてください。文字列が予想される形式と一致しなくても、それは十分に厳格ではないかもしれませんが、それは正常に解析される可能性があります。

parseexact:

より厳格な変換を確実にするために形式を指定する必要があります。文字列が指定された形式と一致しない場合、異常を引き起こします。

  • パフォーマンスと安全性の考慮事項の種類 両方の方法は問題を解決できますが、parseeexact()は通常、より安全でより明確です。予想される形式を明確に述べています。
  • パフォーマンスの観点から、両方の方法が類似しています。場合によっては、parse()はわずかに高速になる場合がありますが、これは通常無視できます。

以上が「文字列は有効なデータタイムとして認識されていない」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート