Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中添加另一种用于解析日期字符串的格式到另一种日期字符串格式#_C#_Date_.net Core - Fatal编程技术网

C# 在C中添加另一种用于解析日期字符串的格式到另一种日期字符串格式#

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"

我有一个简单的方法,我使用的是ParseExact方法:

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
参数。定义此数组中所需的所有格式。您可以发布答案吗?谢谢