C# 在C中添加另一种用于解析日期字符串的格式到另一种日期字符串格式#
我有一个简单的方法,我使用的是ParseExact方法:C# 在C中添加另一种用于解析日期字符串的格式到另一种日期字符串格式#,c#,date,.net-core,C#,Date,.net Core,我有一个简单的方法,我使用的是ParseExact方法: private static string ConvertToSpecificDateString(string originaldate) { DateTime dt = DateTime.ParseExact(originaldate, "dd.MM.yyyy", CultureInfo.InvariantCulture); return dt.ToString("dd-MM-yyyy"
private static string ConvertToSpecificDateString(string originaldate)
{
DateTime dt = DateTime.ParseExact(originaldate, "dd.MM.yyyy", CultureInfo.InvariantCulture);
return dt.ToString("dd-MM-yyyy");
}
因此,我想添加另一种格式来解析。如dd.MM.yyyy.
我想知道我的方法是否好,你有什么建议可以让它更好:
private static string ConvertToSpecificDateString(string originaldate)
{
DateTime dt = new DateTime();
var validDate = DateTime.TryParse(originaldate, out dt); // how I will I know if I put originaldate = 11.24.2021. or 05.05.2021. (please notice that this format is in MM.dd.yyyy.)
if (validDate)
{
//Maybe I should do more "restricitve" code, to target only 2 types of string dates?
//DateTime dtExact = DateTime.ParseExact(originaldate, "dd.MM.yyyy", CultureInfo.InvariantCulture);
//DateTime dtExactDot = DateTime.ParseExact(originaldate, "dd.MM.yyyy.", CultureInfo.InvariantCulture);
//return dtExact.ToString("dd-MM-yyyy");
return dt.ToString("dd-MM-yyyy");
//just my thoughts
// is there any need to convert to DateTime input string originaldate, because at the end I again convert DateTime to string?
//Should I just "extract" days, month, year and play it with string.Concat for example?
}
throw new Exception();
}
我完全同意,如果将除上述两种格式之外的任何格式传递给一个方法,该方法将引发异常..我认为,您应该使用
DateTime.ParseExact
方法重载和string[]formats
参数。定义此数组中所需的所有格式。您可以发布答案吗?谢谢