难以将字符串解析为DateTime

VaV*_*aVa 3 c# datetime

以下代码给出了以下错误:

"未处理的异常:字符串未被识别为有效的DateTime.

从索引0开始有一个未知单词."

如何在此处将字符串正确转换为DateTime?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercise
{
    class Program
    {
        static void Main(string[] args)
        {  
            Console.Write("Enter your birthday in format(dd.mm.yyyy): ");
            DateTime userBirthday = DateTime.Parse(Console.ReadLine());
            long result = DateTime.Today.Subtract(userBirthday).Ticks;
            Console.WriteLine("You are {0} years old.", new DateTime(result).Year - 1);
            Console.WriteLine("After 10 years you will be {0} years old.", new DateTime(result).AddYears(10).Year - 1);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Per*_*t28 5

您可以使用ParseExact指定日期格式:

DateTime userBirthday  = DateTime.ParseExact(Console.ReadLine(), "dd.MM.yyyy", CultureInfo.InvariantCulture) ; 
Run Code Online (Sandbox Code Playgroud)

或者如果您不信任用户输入,请尝试TryParseExact:

 DateTime userBirthday ; 

 if (!DateTime.TryParseExact(Console.ReadLine(), "dd.MM.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out userBirthday)) 
 {
   Console.WriteLine("You cheated") ; 
   return ; 
 }
Run Code Online (Sandbox Code Playgroud)

可在此处找到可用的DateTime格式.