我正在编写一个用户必须输入日期的程序。我的问题是:
这就是我的代码:
static DateTime date;
和这样的方法......
public static void EnterDates()
{
for (int i = 0; i < days; i++)
{
Console.Write("Enter the date (dd/mm/yyyy): ");
date = DateTime.Parse(Console.ReadLine());
centers[k].dates[i] = date;
Console.WriteLine("Day " + centers[k].dates[i]);
Console.Write("Number of movie screenings: ");
movieScreen = Convert.ToInt32(Console.ReadLine());
centers[k].movieScreen[i] = movieScreen;
Console.Write("Total number of customers: ");
customers = Convert.ToInt32(Console.ReadLine());
centers[k].customers[i] = customers;
centers[k].revenue[i] = movieScreen * customers * (centers[k].Price * 1.13);
centers[k].totalRevenue += centers[k].revenue[i];
答案 0 :(得分:1)
如何将日期设置为今天和过去但不是将来?
根据您目前的情况,您可以在用户输入date
后添加验证并将其与DateTime.Now
进行比较
if(date < DateTime.Now)
//valid
else
//invalid
如何将日期设置为非美国格式,即dd / mm / yyyy,所以 编译器将中间值读为月份?
您可以使用DateTime.ParseExact
date = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy", CultureInfo.InvariantCulture)