有没有办法将31072015
(这可以是没有格式的字符串中传递的任何日期)转换为日期时间,这是今天的日期31/07/2015。
我尝试过Convert.ToDateTime
方法,DateTime.Parse
抛出"String was not recognized as a valid DateTime."
例外。
我理解,这意味着我需要以某种格式传递字符串,例如31/07/2015。但传入的字符串值不能采用指定的格式。
我考虑过分割字符串并添加" /"进入它,但我不知道如何去做。
有什么想法吗?
答案 0 :(得分:3)
使用DateTime.ParseExact
例如
DateTime.ParseExact(someDateString, "ddMMyyyy", CultureInfo.InvariantCulture)
https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx
答案 1 :(得分:0)
var date = "31072015";
DateTime dateValue;
if ((DateTime.TryParseExact(date, "ddMMyyyy", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dateValue)))
{
}
答案 2 :(得分:0)
尝试这个常用功能
常用方法:
public static DateTime ToDateTime(this object Value,string Format)
{
DateTime dateTime;
DateTime.TryParseExact(Value.ToString(), Format, null, DateTimeStyles.None, out dateTime);
return dateTime;
}
Sample:
int Intdates = 31072015;
DateTime Date = Intdates.ToDateTime("DDMMyyyy")