Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何修复“用户给定字符串到日期转换的强制转换异常”_C#_Console Application - Fatal编程技术网

C# 如何修复“用户给定字符串到日期转换的强制转换异常”

C# 如何修复“用户给定字符串到日期转换的强制转换异常”,c#,console-application,C#,Console Application,我想获得用户输入:浮动工资,DateTime doj的字符串输入,接受它们并在控制台上显示它们 对于DateTime doj,它在接受时显示类型转换错误。 如果声明为字符串doj,则输出是正确的。 对于从字符串到日期时间的转换,我尝试使用Parse、Tryparse、tryparseexact 代码: Console.writeline输入您的工资; 工资=float.ParseConsole.ReadLine; Console.WriteLine输入您加入dd/mm/yyyy的日期; 输入=C

我想获得用户输入:浮动工资,DateTime doj的字符串输入,接受它们并在控制台上显示它们

对于DateTime doj,它在接受时显示类型转换错误。 如果声明为字符串doj,则输出是正确的。 对于从字符串到日期时间的转换,我尝试使用Parse、Tryparse、tryparseexact

代码:

Console.writeline输入您的工资; 工资=float.ParseConsole.ReadLine; Console.WriteLine输入您加入dd/mm/yyyy的日期; 输入=Console.ReadLine; doj=DateTime.Parseinput /* doj=Convert.toDatetimeConsole.Readline */ 坦格利安

如果要将包含特定日期格式的字符串转换为DateTime对象,则应使用以下两种方法之一:

既然你说你两个都试过了,我猜你没有正确格式化它们

这里是我看到的你发布到目前为止的错误

您的示例显示了用引号括起来的参数。正如Stefan所指出的,这是不正确的

doj=DateTime.Parse("input")
doj=Convert.toDatetime("Console.Readline()")
您应该查看上述有关命令用法的参考文档。请注意,它们包含有关如何使用该命令的示例

您还向Stefan提到以下代码不起作用

DateTime.ParseExact(input, "dd/mm/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
原因可能是因为您正在查找要输入的日期,但您列出的格式也在查找时间信息。如果只是查找日期信息,请仅指定仅包含日期元素的格式模式

作为参考,此处列出了用作日期和时间说明符的代码:


祝你好运。

请将你的问题格式化,以便更容易理解你的问题。欢迎使用SO。请你把这篇文章格式化好吗?它目前很难阅读。参见doj=DateTime.Parse输入;不解析输入变量,但解析字符串inputHanks Stefan。doj=DateTime.Parse输入或doj=DateTime.ParseExactinput,dd/mm/yyyy HH:mm:ss,CultureInfo.InvariantCulture;相同的错误字符串未被识别为有效的DateTime错误谢谢Sean和Xiawi。我们将对此进行调查。已编辑你好,谢谢你的详细回复。是的,我注意到了你的观点,并作了相应的修改。doj=DateTime.ParseExactinput,dd/MM/yyyy,空;我已经给出了这个,现在我能够得到输出。问题是,即使我输入2019年5月29日,也会显示2019年5月29日。我只是想问一下,这和我系统中的日期格式有关吗?因为我在网上看到的帖子很少,所以日期在内部存储为一个数值。如果显示的日期没有任何格式选项,且默认区域性为“en us”,则默认日期格式为:mm/dd/yyyy。有关标准日期和时间格式字符串的更多信息,请参见: