2009-04-21 3 views
7

C#Convert.ToDateTIme関数は、日付を「dd/mm/yyyy」または「mm/dd/yyyy」と読みますか?C#Convert.ToDateTIme関数は、日付を "dd/mm/yyyy"または "mm/dd/yyyy"と読みますか?

ローカルのマシンに同じアプリケーションがあり、リモート共有サーバーにアップロードしました。 "dd/mm/yyyy"というローカルマシンでは完璧に動作していましたが、リモートマシンでは "mm/dd/yyyy"と日付を読み取っているようです。私は両方に "en-GB"を設定するのと同じ文化を持っています。

この日付変換は非常に予測できません。誰でもSQL Server 2005データベースから日付文字列を読み込む文化的な方法をお勧めしますか?

+0

@Avinashを設定してみてください:あなたは500以上の担当者を持っていることを考えると、私はあなたが正しくあなたの質問をフォーマットするのに十分な記法を使用する方法を知っているだろうと予想されます。 http://stackoverflow.com/editing-help – Cerebrus

+1

多分そうではありません。 Markdown(マークダウン)ページには「(バックティックキーはほとんどのキーボードの左上隅にあります)」と書かれていますが、Avinashの文化は米国ではありません。 –

+1

@WindowsProgrammer:あなたは間違っていると思います。 Avinashの "文化"はほぼ確実にインド(私と同じ)であり、米国のキーボードレイアウトはインドでは標準です。さらに、ユーザーは、ツールボックスがこのためのリンクを提供するため、キーボードを使用して質問を書式設定することに限定されません。私は人々が無能を擁護するとき、それは非常に奇妙であると思う。 – Cerebrus

答えて

3

単にdatetimeデータ型を使用するのはなぜですか? 次に、あなたのSQLデータリーダー、使用から:reader.GetDateTime(int型の列)

別のオプション:あなたは、文字列の日付を渡すために持っている場合、ISO形式を使用します。yyyy-MM-DD

2

する方法あなたの日付は実際にSQL Serverに格納されますか?彼らがdatetimeとして保存されている場合、それらをDateTime値として読み取ることができ、Convert.ToDateTime()を使用する必要はありません。クエリやC#コードを表示できますか?

編集

あなたはあなたの質問の最後に、SQL Serverの言及で私を投げました! TextBoxではなくDateTimePickerの使用を検討しましたか? ASP.NETには日付ピッカーコントロールがあります。その後、あなたのために解析を行うことができます。

+0

を使用しています。私のローカルサーバーでは、Convert.toDatetime( "MM/dd/yyyy")を使用していましたが、アップロードされたサーバーでは動作していません。 .. – Avinash

4

よく聞こえます...サーバーの設定の1つがオフです。

「地域&言語」オプションを使用して、細かい歯のくし歯を確認し、何かが上書きされていないことを確認してください。

は、明示的文化情報

  string x = "21/01/2009"; 

     CultureInfo ci = new CultureInfo("en-GB"); 

     Convert.ToDateTime(x, ci); 
関連する問題