嗨,我正在创建一个酒店预订表格,并想按所住的夜数计算总住宿费用。它需要到达日期和出发日期,但我想添加验证,因此如果用户输入的格式不正确,则会显示一个消息框,要求他们重试。这是我的代码在转换时间跨度方面已经有了一些帮助,所以再一次任何帮助都会令人惊叹。错误出现在以“dateDiff = aDate”开头的行上,它表示变量 aDate 和 dDate 未分配,提前致谢:
String arrival, departure;
arrival = textBox1.Text;
departure = textBox2.Text;
DateTime aDate, dDate;
try
{
aDate = DateTime.ParseExact(arrival, "dd/mm/yyyy", null);
dDate = DateTime.ParseExact(departure, "dd/mm/yyyy", null);
return;
}
catch
{
MessageBox.Show("Invalid input format please enter in format DD/MM/YYYY");
}
TimeSpan dateDiff;
dateDiff = dDate.Subtract(aDate);
int nights = (int)dateDiff.TotalDays;
textBox3.Text = ("" + nights);
textBox5.Text = ("£" + (nights * 115));