2012-10-30 18 views
-3

我试图将当前时间存储到一个字符串变量上,点击一个终结按钮,然后我可以通过给它一个结束日期的方法。将当前日期时间存储为一个字符串变量

我想它可能使用此代码的工作:

string endDate = null; 
DateTime dt = DateTime.ParseExact(endDate, "ddMMyyyy", CultureInfo.InvariantCulture); 
dt.ToString("yyyyMMdd"); 

但是在程序运行和代码调试时,我得到这个错误。

未将字符串引用设置为字符串的实例。参数名称:s

任何帮助,将不胜感激。谢谢。

+1

'字符串结束日期= “30102012”;' –

+2

你试图解析'null',你会得到一个空参数异常。有什么困惑呢?将一个非空值传递给'DateTime.ParseExact' ... – Servy

回答

4

编辑: 正如在注释中指出的,您还将endDate的空值传递给ParseExact()方法。我很困惑你在这里试图完成什么。如果你只是想获取当前日期时间的字符串值,当您点击按钮,所有你需要做的是:

string currentDate = DateTime.Now.ToString("yyyyMMdd"); 

没有必要解析字符串在所有除非我失去了你是什么试图去做。

您没有将dt.ToString()调用的值分配给变量。尝试使用

endDate = dt.ToString("yyyyMMdd"); 
+0

这不是问题。 – Adam

+0

为什么不呢?这当然不会被分配到任何地方,这至少是解决他遇到的问题的第一步。 –

+0

我*不*说你的回答没有帮助。但是由于执行在'ToString'调用之前终止,真正的问题是'DateTime.ParseExact'的第一个参数不能为'null',正如Servy在对这个问题的评论中指出的那样。 – Adam

1

dt.ToString("yyyyMMdd");返回一个字符串。您需要将其分配给一个字符串变量。它不会将dt更改为字符串。

我想你想要的是:

endDate = dt.ToString("yyyyMMdd"); 
相关问题