使用Cmd命令提示符向控制台应用程序传递DateTime变量

5

希望你能帮忙。

我有一个控制台应用程序,需要接收一个日期时间值,例如2015-12-01 00:00:00.000,但由于日期和时间之间有空格,所以时间部分无法被捕获。我正在传递3个变量:(2个整数和1个日期时间)

Cmd提示:

C:\Application1.exe 3935 1 2015-12-01 00:00:00.000

有没有办法把日期和时间作为一个变量传递,例如 '2015-12-01 00:00:00.000'?

我尝试了一切方法,但似乎都不起作用。


4
将其加上引号:"C:\Application1.exe" 3935 1 "2015-12-01 00:00:00.000" - Matthew Watson
你收到了哪些错误信息?关于输入,你的程序开头是什么样子的? - Georg
谢谢!我会尝试并让您知道。 - AxleWack
2个回答

11

当然,将其放入引号中并从字符串中解析:

var myDate = DateTime.Parse(args[2]);

另一种更保险的方法是使用DateTime-TryParse

var date = DateTime.Now;
if (DateTime.TryParse(out date)) { /* do anything with the date */ }

叫法:

C:\Application1.exe 3935 1 "2015-12-01 00:00:00.000"

谢谢。我尝试了你提供的第二个建议,但是出现了以下错误:方法'TryParse'没有接受1个参数的重载。 - AxleWack
我使用了您的第一个建议以及它被称为的方式,它起作用了。谢谢! - AxleWack

3
添加一个 T:
C:\Application1.exe 3935 1 2015-12-01T00:00:00.000

如果您使用DateTime.Parse进行转换,这应该可以正常工作,您不必处理空格。


谢谢!我也会尝试一下并告诉你结果。 - AxleWack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接