我一直在尝试将日期转换为wrok从字符串转换为我已经查看msdn和其他一些堆栈问题的日期但是多种方式都没有用。我正在制作一个控制台应用程序,它需要一个有效的日期来检查其他日期。以下是我目前的尝试。
string StartDate, EndDate;
Console.WriteLine("Input Start date");
StartDate = Console.ReadLine();
StartDate = DateTime.Parse(StartDate);
我目前设置变量StartDate
,然后根据用户输入的内容设置一个值,然后使用Parse
答案 0 :(得分:4)
您正尝试将DateTime
值分配给字符串StartDate
,这是错误的。所以改变它如下:
string StartDate, EndDate;
DateTime date;
Console.WriteLine("Input Start date");
StartDate = Console.ReadLine();
date = DateTime.Parse(StartDate);
答案 1 :(得分:2)
尝试使用Convert.ToDateTime();
示例:
string date = "01/08/2008";
DateTime dt = Convert.ToDateTime(date);
答案 2 :(得分:2)
string
不是DateTime
,DateTime
不是String
。因此,您可以将字符串解析为日期,但不能将字符串变量用于DateTime,反之亦然。您需要两个变量:
string startDateInput = Console.ReadLine();
DateTime startDate = DateTime.Parse( startDateInput );
如果输入字符串不是有效日期,则可能会失败,您应该使用TryParse
:
DateTime startDate;
bool validDate = DateTime.TryParse(startDateInput, out startDate);
if(validDate)
Console.Write("Valid date: " + startDate.ToLongDateString());
答案 3 :(得分:2)
将指定的日期和时间字符串表示形式转换为它 DateTime等效并返回一个值,指示是否 转换成功。
DateTime date;
if (!DateTime.TryParse("DateString", out date))
{
MessageBox.Show("Invalid string!");
}
答案 4 :(得分:0)
您需要指定日期格式。
试试这个:示例格式MM-dd-yyyy
Console.WriteLine("Input Start date Format -> MM-dd-yyyy");
string StartDate = Console.ReadLine();
DateTime YourDate = DateTime.ParseExact(StartDate,"MM-dd-yyyy",
System.Globalization.CultureInfo.InvariantCulture);