我有一个字符串格式的日期和时间:

"2011-03-21 13:26" //year-month-day hour:minute

如何将其解析为System.DateTime?

如果可能的话,我想使用DateTime.Parse()或DateTime.ParseExact()这样的函数,以便能够手动指定日期的格式。


当前回答

试试下面的代码

Month = Date = DateTime.Now.Month.ToString();   
Year = DateTime.Now.Year.ToString(); 
ViewBag.Today = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(Int32.Parse(Month)) + Year;

其他回答

还可以使用XmlConvert。ToDateString

var dateStr = "2011-03-21 13:26";
var parsedDate = XmlConvert.ToDateTime(dateStr, "yyyy-MM-dd hh:mm");

最好指定日期类型,代码为:

var anotherParsedDate = DateTime.ParseExact(dateStr, "yyyy-MM-dd hh:mm", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);

关于不同解析选项的更多详细信息http://amir-shenodua.blogspot.ie/2017/06/datetime-parsing-in-net.html

试试下面的代码

Month = Date = DateTime.Now.Month.ToString();   
Year = DateTime.Now.Year.ToString(); 
ViewBag.Today = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(Int32.Parse(Month)) + Year;

DateTime。DateTime, Format, DateTimeFormatInfo。InvariantInfo DateTimeStyles。allowtrailingwhite)

例如:

DateTime。ParseExact("2011-03-21 13:26", "yyyy-MM-dd hh:mm", DateTimeFormatInfo. "InvariantInfo DateTimeStyles。AllowLeadingWhite | DateTimeStyles.AllowTrailingWhite;

var dateStr = @"2011-03-21 13:26";
var dateTime = DateTime.ParseExact(dateStr, "yyyy-MM-dd HH:mm", CultureInfo.CurrentCulture);

查看其他格式字符串的链接!

将一个人类可读的字符串的值放入.NET DateTime中,代码如下:

DateTime.ParseExact("April 16, 2011 4:27 pm", "MMMM d, yyyy h:mm tt", null);