Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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# - Fatal编程技术网

C# 将字符串转换为日期有困难吗?

C# 将字符串转换为日期有困难吗?,c#,C#,我写了一个程序,可以处理诸如删除和更新、存储、搜索和所有客户之类的文件,但问题是,当我更新文件时,我总是会遇到以下错误 字符串未被识别为有效的日期时间。 此错误发生在反序列化方法中: public Order Deserialize(string str) { Order order = new Order(); var strOrder = str.Split(','); order.Id = int.Parse(st

我写了一个程序,可以处理诸如删除和更新、存储、搜索和所有客户之类的文件,但问题是,当我更新文件时,我总是会遇到以下错误

字符串未被识别为有效的日期时间。

此错误发生在反序列化方法中:

        public Order Deserialize(string str)
    {
        Order order = new Order();
        var strOrder = str.Split(',');
        order.Id = int.Parse(strOrder[0]);

        **order.Date = DateTime.Parse(strOrder[1]);**
        order.Price = int.Parse(strOrder[2]);
        order.Description = strOrder[3];
        order.CustomerId = int.Parse(strOrder[4]);

        return order;
    }

这很可能与区域性设置有关。您需要为DateTime.ParseExact方法指定其中一个重载所需的格式:


这很可能与区域性设置有关。您需要为DateTime.ParseExact方法指定其中一个重载所需的格式:

试试看

按评论编辑。

导入
System.Globalization
,然后尝试以下操作:

var cultureInfo = new CultureInfo("en-US");
DateTime dateTime = Convert.ToDateTime(strOrder[1], cultureInfo);
试一试

按评论编辑。

导入
System.Globalization
,然后尝试以下操作:

var cultureInfo = new CultureInfo("en-US");
DateTime dateTime = Convert.ToDateTime(strOrder[1], cultureInfo);

strOrder[1]
的值是多少?您已经在视频中显示了字符串,但是否检查strOrder[1]是否具有预期值?是否可以在此处添加调试打印?文件已读取,字符串值示例“2/5/2012”。strOrder[1]的值是多少?您已在视频中显示该字符串,但是否检查strOrder[1]是否具有预期值?可以在那里添加调试打印吗?文件已读取,字符串值示例“2/5/2012”。其他方法如何?其他方法如何?