提问人:Luis Eduardo 提问时间:5/12/2023 更新时间:5/12/2023 访问量:53
继续获取 DateTime.ParseExact 上的 FormatException
Keep getting FormatException on DateTime.ParseExact
问:
我正在尝试使用如下所示将存储为字符串的日期转换为 DateTimeDateTime.ParseExact
var myDate = DateTime.ParseExact("3/14/2023 4:08:30 PM", "M/dd/yyyy h:mm:ss tt", null);
但我在那行上不断收到错误。FormatException
我尝试调整格式,但没有任何效果。我在这里错过了什么?
答:
2赞
Jon Skeet
5/12/2023
#1
现有代码使用当前正在执行的线程中的默认区域性。即使您指定了自定义日期/时间格式字符串,区域性仍会影响它:
- 它会影响数字的解析方式(因为并非每个文化都使用“0”-“9”)
- 它会影响在哪个日历系统中解释该值
- 它会影响日期分隔符(年、月和日之间)
- 它会影响时间分隔符(在小时、月份和分钟之间)
- 它会影响用于 AM 和 PM 的字符串
除非文本来自用户,否则通常最好显式指定要分析的区域性 - 此时您确切地知道(或可以知道)上述每个变体将使用什么。CultureInfo.InvariantCulture
评论