2

我有这段代码,执行时给了我 74 天,这是正确的,但日期oldDate必须来自TextBox. 有谁知道如何做到这一点,因为DateTime只需要三个整数。

private void myButton_Click(object sender, RoutedEventArgs e)
{
     string  myDate = myTextBox.Text;

     DateTime oldDate = new DateTime(2013, 6, 5);

     DateTime newDate = DateTime.Now;

     // Difference in days, hours, and minutes.
     TimeSpan ts = oldDate - newDate;
     // Difference in days.
     int differenceInDays = ts.Days;

     differenceInDays = ts.Days;

     myTextBlock.Text = differenceInDays.ToString();        
}
4

2 回答 2

1

您可以从用户那里解析日期:

string  myDate = myTextBox.Text;

DateTime oldDate;
if (!DateTime.TryParse(myDate, out oldDate))
{
   // User entered invalid date - handle this
}

// oldDate is set now

话虽如此,根据 UI 框架,更合适的控件(即:DateTimePicker来自扩展的 WPF 工具包等)可能更易于使用。

于 2013-03-22T16:50:49.907 回答
0

从您的代码中,您必须从存储在 myDate 字符串变量中的 myTextBox 获取 oldDate。您可以将其转换为日期时间

oldDate=Convert.ToDateTime(myDate);

但是因为它可能会导致异常使用以下

`DateTime myyDateTime;if(DateTime.TryParse(myDate, out myDateTime){//use your date difference code here}
于 2013-03-22T16:56:57.183 回答