日付ピッカーを備えたテキストボックスがあり、カレンダーで日付を変更すると、イベント textchanged が発生します。
この日付の年を取得するには、Textbox 内のテキスト (日付) を分割する必要があります。
なぜあなたは使わないのDateTimePicker.Value
ですか?
int year = dateTimePicker1.Value.Year;
これは、より効率的で簡潔で、エラーが発生しにくい方法です。
ただし、テキストしかない場合は、DateTime.Parse
またはを使用しDateTime.TryParse
ます。
int? year = null;
DateTime dt;
if(DateTime.TryParse(textBox1.Text, out dt))
year = dt.Year;
これを試して:
var date = DateTime.Parse(txtbox.Text);
var year = date.Year;
txtbox.Text.Split(char)
カレンダーが区切り文字として使用するものは何でも使用できます。
たとえば、カレンダーで 2013-10-16 のような日付が設定されている場合、Split を呼び出し'-'
て最初の結果を使用しtxtbox.Text.Split('-')[0]
ます。2013 年 10 月 15 日のように見える場合は、 を呼び出して'/'
3 番目の結果を使用しtxtbox.Text.Split('/')[2]
ます。
カレンダーの出力があいまいであるかどうかによって、日付としての解析が機能する場合と機能しない場合があります。