我有'MM/dd/yyyy'格式的日期,我需要根据输入格式获得日期格式。输入格式为"MMddyyyy"、"yyyy-MM-dd"、MM、MMM、MMMM、yyyy中的任意一种。
格式:'MMddyyyy'::输出应为:'02232015'
格式:'yyyy-MM-dd'::输出应为:'2015-02-23'
格式:'yyyy/MM/dd'::输出应为:'2015/02/23'
格式:'MM'::输出应为:'02'
格式:'MMM'::输出应为:'Feb'
格式:"MMMM"::输出应为:"二月"
我正在试用
var dateTime = DateTime.ParseExact(date, format, new System.Globalization.CultureInfo("en-US"), System.Globalization.DateTimeStyles.None);
但它不起作用。它给出了无效的日期格式错误。
所以有谁能帮助我实现这一点吗。
我认为将字符串解析为DateTime
与获取DateTime
的特定字符串表示会混淆。
如果你想获得DateTime
的文本表示(如你所说的2015-02-23
、2015/02/23
和February
),你可以将.ToString()
方法与基于英语的文化结合使用。
对于带顺序的字符串结果,您可以将它们作为;
yourDateTimevalue.ToString("MMddyyyy", new CultureInfo("en-US")); // 02232015
yourDateTimevalue.ToString("yyyy-MM-dd", new CultureInfo("en-US")); // 2015-02-23
yourDateTimevalue.ToString("yyyy/MM/dd", new CultureInfo("en-US")); // 2015/02/23
yourDateTimevalue.ToString("MM", new CultureInfo("en-US")); // 02
yourDateTimevalue.ToString("MMM", new CultureInfo("en-US")); // Feb
yourDateTimevalue.ToString("MMMM", new CultureInfo("en-US")); // February
如果你试着说喜欢;你有这些格式化的字符串,你想把这些格式化的串解析成DateTime
吗?你可以使用这个DateTime.ParseExact
重载,它把string[]
作为一种格式。
var formats = new string[]
{
"MMddyyyy",
"yyyy-MM-dd",
"yyyy/MM/dd",
"MM",
"MMM",
"MMMM"
}
var dateTime = DateTime.ParseExact(date, formats, new CultureInfo("en-US"), DateTimeStyles.None);
您可以使用具有格式的ToString()
DateTime.Now.ToString("MMddyyyy")
试试这个!
string format="MMddyyyy";
DateTime.Now().ToString(format);