1

次のコードdは現在の日付です。現在のロケールに応じて、日付が返されます。

Dim d As Date = Date.Today

注:日付が有効かどうかを確認するのではなく、「dd-MM-yyyy」、「MM-dd-yyyy」、またはその他の日付形式であるかどうかを確認します。

編集(2012年6月29日-金曜日):

この質問をする理由は、ASP.NETで日付を処理しようとすることにうんざりしているためです。ローカルPCでプロジェクトをビルドします。日付は「dd/MM / yyyy」で、本番サーバー(通常は米国、つまりMM / dd / yyyy)にアップロードするとすぐに、コードが壊れます。

そのため、私は通常、日付をyyyyMMdd形式に変換して処理し、そのようにデータベースに保持します。これは、例外のないコーディングに最も近いものです。

この場合、返された日付文字列からフォーマットを取得する方法がないことは理にかなっています。したがって、私は私のアプローチを続けます。

4

4 に答える 4

2

Date.TodayDateTime、文字列ではありません。したがって、固有の形式はありません。

于 2012-06-26T15:56:18.203 に答える
0

を返します。これはのVBエイリアスでDateあると私は信じてDateTimeいます。(そうでない場合はDateTime、従来のVBタイプを使用するのではなく、明示的に使用して慣用的に.NETにします。)

値自体にDateTimeは形式がなくint、10進数または16進数であるだけです。フォーマットが適用されるのは、値を文字列に変換する場合のみであり、文字列への変換方法によって異なります。本当に必要になるまで文字列変換を使用しないでください。次に、希望どおりに機能するように形式を制御する必要があります。

可能な限り、テキストデータできるだけ早く「自然な」タイプに変換し、可能な限りそのタイプのままにしてください。たとえば、SQLクエリで値を渡すときに文字列に変換することは避けてください。代わりに、パラメータ値をとして指定できるパラメータ化されたSQLを使用してくださいDateTime

于 2012-06-26T15:57:04.413 に答える
0

知りたいことは次の場所にあります。

CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern

これは、呼び出し時に使用されるフォーマット文字列です。

d.ToShortDateString()

于 2012-06-26T15:57:24.150 に答える
-1

あなたは言われる必要があります。他に方法はありません。たとえば、次のようにします。

6/12/2012  

dd/mm/yyyyまたはmm/dd/yyyy形式で有効です

ロケール/フォーマットが事前にわからない場合は、どれを選びますか?

日付値には固有の形式はありません。つまり、日付を必要な任意の文字列表現にフォーマットできますが、文字列から日付値に逆に変換するには、この日付文字列を受け取っている形式を知っている必要があります。

于 2012-06-26T15:55:00.887 に答える