除了未来之外,如何设定日期?

时间:2016-05-26 01:09:04

标签: c#

我正在编写一个用户必须输入日期的程序。我的问题是:

  1. 如何将日期设置为今天和过去但不是将来?
  2. 如何将日期设置为非美国格式,即dd / mm / yyyy,以便编译器将中间值设为月份?
  3. 这就是我的代码:

     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];
    

1 个答案:

答案 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)