繁体   English   中英

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

[英]DateTime Convert from MMM-yyyy to dd-MM-yyyy or yyyy-MM-dd

我以格式MMM-yyyy提交日期值,即“Apr-2019”作为字符串。 我需要将字符串值转换为.Net支持的日期格式,如dd-MM-yyyy或yyyy-MM-dd。 这里dd将是这个月的第一天。

我已经搜索了stackoverflow日期时间转换问题,但是那些都描述了三部分日期转换问题。 如果我尝试解析添加dd部分的字符串(即01-Apr-2019),它会说 - “字符串未被识别为有效的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);

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

为什么需要转换字符串?

只需按照您想要的格式进行精确解析:

DateTime newDt = DateTime.ParseExact(dt, "MMM-yyyy", CultureInfo.InvariantCulture);

它将把这一天设置为该月的第一天

采用

DateTime.ParseExact(dt, "MMM-yyyy", CultureInfo.InvariantCulture)

无论如何,这将给你一个月的第一个。

OP想要将日期转换为字符串。 使用以下代码,您可以使用格式dd-MMM-yyyy

string dt = "01-Apr-2019";
DateTime newDt = DateTime.ParseExact(dt, "dd-MMM-yyyy", CultureInfo.InvariantCulture);

我尝试了以下代码,它对我有用。 你能试试这个吗? string strDt =“Sep-2019”; DateTime dt = Convert.ToDateTime(strDt).AddDays(0.0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM