如何获得所需格式的日期格式,如';dd/MM/yyyy'';MMddyyyy';,MMM等

本文关键字:格式 yyyy MM MMddyyyy MMM 何获得 日期 dd | 更新日期: 2023-09-27 18:00:08

我有'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);

但它不起作用。它给出了无效的日期格式错误。

所以有谁能帮助我实现这一点吗。

如何获得所需格式的日期格式,如';dd/MM/yyyy'';MMddyyyy';,MMM等

我认为将字符串解析为DateTime与获取DateTime特定字符串表示会混淆。

如果你想获得DateTime的文本表示(如你所说的2015-02-232015/02/23February),你可以将.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);