在未给出日期时将月份名称转换为月份号码

时间:2017-03-30 09:37:00

标签: c#

从我的用户界面中获得了类似于2017年3月的字符串'我希望本月的第一个日期在c#.net.how我可以实现吗?在jquery日历中只有几个月是可见的。所以只有我得到2017年3月'

我试过这个 -

string pattern = "MM-dd-yy";
DateTime parsedDate;

DateTime.TryParseExact(txtDate.Text.Trim(), pattern, null, DateTimeStyles.None, out parsedDate);

1 个答案:

答案 0 :(得分:1)

您应该使用正确的格式字符串。 MMMM代表长月名称(就像" March"或" April")。 yyyy表示完整(4位)年份。返回日期将是给定月份的第一天,就像您需要的那样:

DateTime parsedDate = DateTime.ParseExact(txtDate.Text.Trim(), "MMMM yyyy", CultureInfo.InvariantCulture); 
// or CultureInfo.CurrentCulture, depending on requirements.

TryParseExact

DateTime parsedDate;
if (DateTime.TryParseExact(txtDate.Text.Trim(), "MMMM yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate)) {
    // do stuff         
}

如果月份名称始终为英语(例如" March") - 请使用CultureInfo.InvariantCulture。否则 - 使用适当的文化。