gpt4 book ai didi

c# - 字符串未被识别为有效的日期时间?

转载 作者:行者123 更新时间:2023-11-30 13:23:37 26 4
gpt4 key购买 nike

我尝试将字符串转换为 datetime 但每次我得到:

String was not recognized as a valid DateTime.

代码是:

string format = "dd/MM/yyyy";

obj.TransDate = DateTime.ParseExact(lbl_TransDate.Text.Split('/')[0] + "/" + lbl_TransDate.Text.Split('/')[1] + "/" + lbl_TransDate.Text.Split('/')[2], format, CultureInfo.InvariantCulture);

当我调试我尝试解析的日期时:12/4/2012

最佳答案

所需的格式是

string format = "dd/M/yyyy";

虽然我不明白,为什么要拆分和连接字符串,因为你会得到同样的东西?

如果输入是 12/4/2012,用 '/' 拆分后,您将得到 12, 4, 2012 然后将它们连接回获得“12/4/2012”。为什么会这样?

另外,如果你真的需要拆分,你可以存储到一个数组中,这样你就不需要将它拆分 3 次:

var splits = lbl_TransDate.Text.Split('/');
DateTime.ParseExact(splits[0] + "/" + splits[1] + "/" + splits[2], ...);

如果您不信任输入,splits 数组的 Length 可能不等于 3,如果长度大于 3,您可以使用 DateTime.TryParseExact

编辑 您可以使用多种格式的重载因此,如果输入可能是 12/4/2012 或 12/04/2012,您可以同时提供这两种格式

var formats = new[] {"dd/M/yyyy","dd/MM/yyyy"};
var date = DateTime.ParseExact("12/4/2012", formats,
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.AssumeLocal);

关于c# - 字符串未被识别为有效的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10123145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com