DateTime从MMM-yyyy转换为dd-MM-yyyy或yyyy-MM-dd

qua*_*sar 4 c# asp.net-mvc date

我正在以MMM-yyyy格式(即“ Apr-2019”)以字符串形式提交日期值。我需要将字符串值转换为.net支持的日期格式,例如dd-MM-yyyy或yyyy-MM-dd。dd是月份的第一天。

我已经搜索过stackoverflow datetime转换问题,但是所有这些都描述了三部分日期转换问题。如果我尝试解析添加dd部分的字符串(即2019年4月1日),它会显示“字符串未被识别为有效的DateTime”。但是,如果我在该字符串中使用MMM的数值,则该字符串是可识别的,因此我可以使用ParseExact-

//string dt = "01-Apr-2019";//Not recognizable string format
string dt = "01-04-2019";//Recognizable string format
DateTime newDt = DateTime.ParseExact(dt, "dd-MM-yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

那么,.Net中是否有任何内置方法/类可用于转换“ Apr-2019”格式值并实现dd-MM-yyyy或yyyy-MM-dd或任何其他.Net可识别格式?

Tim*_*ter 5

为什么需要转换字符串?

只需按照您想要的格式进行解析即可:

DateTime newDt = DateTime.ParseExact(dt, "MMM-yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

它将日期设置为每月的第一天


Alo*_*lok 4

使用

DateTime.ParseExact(dt, "MMM-yyyy", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

无论如何,这将为您提供本月的第一天。