1

我在将字符串转换为 DateTime 时遇到了麻烦。这就是我所拥有的。首先,我将当前日期转换为字符串(这将是文件夹名称)。

string dateString = string.Format("{0:yyyy-MM-dd_HH-mm-ss}", DateTime.Now);

像这样输出

2013-05-16_09-32-47

然后我创建一个文件夹。在程序执行期间,我得到了这个文件夹,我需要将它的名称转换回 DateTime。试着让它像这样

DateTime directoreDate = DateTime.ParseExact(directory.Name, "0:yyyy-MM-dd_HH-mm-ss", CultureInfo.InvariantCulture);

但它会抛出 FormatException。谁能告诉我为什么会这样。

4

3 回答 3

6

您使用的复合格式字符串与格式化原始DateTime. 这不需要-从中ParseExact​​删除:0:

DateTime directoreDate = DateTime.ParseExact(directory.Name, 
                                             "yyyy-MM-dd_HH-mm-ss", 
                                             CultureInfo.InvariantCulture);
于 2013-05-16T06:47:07.817 回答
3

利用

DateTime directoreDate = DateTime.ParseExact(directory.Name, "yyyy-MM-dd_HH-mm-ss", CultureInfo.InvariantCulture);
于 2013-05-16T06:47:50.150 回答
0

0:从中删除DateTime.ParseExact,它被用作 中的占位符string.Format()。用于 :

DateTime directoreDate = DateTime.ParseExact(directory.Name,
                                          "yyyy-MM-dd_HH-mm-ss", 
                                           CultureInfo.InvariantCulture);
于 2013-05-16T06:49:44.987 回答