Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何拆分txtbox.Text_C#_Asp.net - Fatal编程技术网

C# 如何拆分txtbox.Text

C# 如何拆分txtbox.Text,c#,asp.net,C#,Asp.net,我有一个带有日期选择器的文本框,当我在日历上更改日期时,它会触发事件textchanged 我需要拆分文本框中的文本(日期),以获得该日期的年份。您的处理程序可能如下所示: protected void YourTextBox_TextChanged(Object sender, EventArgs e) { var theDate = DateTime.Parse(YourTextBox.Text); var theYear = theDate.Year; } 即使您使用日期

我有一个带有日期选择器的文本框,当我在日历上更改日期时,它会触发事件textchanged


我需要拆分文本框中的文本(日期),以获得该日期的年份。

您的处理程序可能如下所示:

protected void YourTextBox_TextChanged(Object sender, EventArgs e) {
    var theDate = DateTime.Parse(YourTextBox.Text);
    var theYear = theDate.Year;
}
即使您使用日期选择器来设置值,您也需要处理用户提供非日期值而
Parse()
失败的情况

string dateExample = yourDateObj.ToString("d");
string[] dateSplit = dateExample.Split("/");

dateSplit[2]将是年份。

为什么不使用
日期时间选择器.Value

DateTime time = DateTime.Parse(txt);
time.Year;
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日,那么使用
'/'
调用并使用第三个结果,因此
txtbox.Text.Split('/')[2]


根据日历输出的模糊程度,解析为日期可能有效,也可能无效。

您可以尝试String.Format(),为什么不使用
DateTimePicker.Value
int year=dateTimePicker1.Value.year。因为在这件事之后我需要调用另一个方法,我不明白为什么您需要调用另一个方法这一事实对您如何获得年份有任何影响。如果您确实需要它作为字符串,可以使用
stringyear=dateTimePicker1.Value.year.ToString():)不,“d”格式说明符将使用当前的文化日期分隔符,这在大多数国家不是/而是有所不同。所以分裂会失败,没想到!好电话。