首页 > 解决方案 > 将“03/2020”之类的字符串解析为 DateTime 变量

问题描述

我必须将一个看起来总是像03/2020(所以格式是MM/yyyy)的字符串解析为 DateTime 变量。

我如何以最合适的方式实现它?(不将字符串拆分为子字符串)

我已经找到了这个DateTime.ParseExact函数,但是我对第三个参数(特定于文化的格式信息)感到困惑。

DateTime.ParseExact要走的路还是有更好的功能/方法来实现目标?

var inputString = "03/2020";
var inputStringFormat = @"MM/yyyy";

// var inputStringAsDateTime = ???

编辑 1

作为附加信息,我不得不说,字符串 ( inputString) 是从条形码中读取的。所以其中的分隔符始终是/.

Tim Schmelter 在他的回答中解释了如何掩盖这种分隔符。看来我必须将inputStringFormat变量更改为:

var inputStringFormat = @"MM'/'yyyy";

标签: c#datetimeparsing

解决方案


通常,我使用 Convert 类的 ToDateTime 方法。我已经测试过了,它正在工作。

string inputString = "03/2020";
DateTime datetime = Convert.ToDateTime(inputString));

它将提供类似 3/1/2020 12:00:00 AM 的输出,这意味着它将根据系统的日期格式为您提供输出。


推荐阅读