2009-07-07 52 views
4

私はC#とWinFormsを使ってdateTimePickerの日付を変数に入れようとしています。しかし、私は日付と時間を取得し続けます。以下の例では、textBox1が私が探しているものを示しています。しかし、私はtextBox2のために同じことをする方法を把握することはできません。どこに日付と時間を与えるか。これは私のアプリで使用している正確なコードではなく、例として使用するための簡単な例です。私が必要とすることをするためにそれを変更するにはどうすればいいですか?ありがとう。どのようにしてdateTimePickerの日付を変数に入れることができますか?

private void dateTimePicker1_CloseUp(object sender, EventArgs e) 
    { 
     DateTime varDate; 

     textBox1.Text = dateTimePicker1.Value.ToShortDateString(); 

     varDate = dateTimePicker1.Value; 
     textBox2.Text = Convert.ToString(varDate); 
    } 
+1

Textbox1と同じコードをTextbox2に使用できないのはなぜですか? –

+0

これは、これが何が起こっているのかを理解するのに役立つテストだと思います。私はJimDelには基本的な欠点があると思います。値を格納するクラスはDateTimeなので、常にtimeコンポーネントがありますが、デフォルトでは00:00:00.0に設定され、Dateメソッドを使用して破棄できます。 – Lazarus

+0

それはまさに私がラザロをやっていたことです。時間を00:00:00.0に設定していただきありがとうございます! – JimDel

答えて

10
varDate = dateTimePicker1.Value.Date; 

これは、この枚この

textBox2.Text = varDate.ToShortDateString(); 

または

varDate = DateTimePicker1.Value.Date; 
textBox2.Text = varDate.ToShortDateString() // varDate.ToString("MM/dd/yy") this would also work 
+0

これは、Convert.ToString()を使用しているので、これはまだ彼にtextBox2の時間を与えます。 –

+0

トマスありがとう、私はそれを試みたが、時間が0にリセットされたことに気付かなかった。私の目的のためにこれはうまくいき、私が探していることをするでしょう。ありがとう。 – JimDel

4

に設定された時間とDateTimePickerの値を返します。

private void dateTimePicker1_CloseUp(object sender, EventArgs e) 
{ 
    DateTime varDate; 

    textBox1.Text = dateTimePicker1.Value.ToShortDateString(); 

    varDate = dateTimePicker1.Value; 
    textBox2.Text = varDate.ToShortDateString(); 
} 
+0

+1 DateTime型には日付と時刻の記述はなく、そうである必要はありません。それはあなたが欲しい/必要としている方法でそれを出力するだけの問題です。 –

1

を試してみてください0時00分00秒

1

これを試してみてください:私は今、あなたの質問を理解して考える上ラザロはコメントへ

textBox1.Text = dateTimePicker1.Value.ToString("yyyy-MM-dd");

1

感謝を... DateTimeの変数のみを保持するための方法はありません

日付の値ですが、できることは時間の部分を00:00:00に設定することです。残念ながら、これはデフォルトのToString()メソッドを呼び出すときに印刷されることを止めません。したがって、あなたの問題を解決する方法は、あなたが解決しようとしている実際の問題の内容に完全に依存します:

TextBoxにDate部分だけを表示しようとすると、ToShortDateString()メソッドを使うことができます。他のdate formatting stringが、TextBox1でそのメソッドを使用しているので、あなたはすでにこれを知っていると思います。

2つの日付時刻を比較しようとしていて、時刻部分が適切でないようにする場合は、日付プロパティを使用して時間部分が深夜に設定されていることを確認できます。

datetimeA.Date == dateTimeB.Date 

これは(比較対象のオブジェクトがまだ日付されているが、それは彼らが同じであることを確実にない時間部分の比較を避けないことに注意してください。

唯一の他の理由これは、オブジェクトが複雑すぎて、余分な情報が含まれていると感じるためです。これが問題であるとは非常に疑いがありますが、DateTimeオブジェクトの内部構造は、単一の長い値であり、未使用の時間部分でスペースを無駄にしていません。

+0

こんにちはマーティン、私はあなたが言ったように日付を比較するために探しています。私は本質的に両方の時間をゼロにすることが私の目標を達成するのに役立ちますことを確認します。あなたも答えてくれてありがとう! – JimDel

関連する問題