检查正确的日期格式导致麻烦

本文关键字:麻烦 格式 日期 检查 | 更新日期: 2023-09-27 18:11:48

我有一个代码,检查字符串是否在日期格式。如果是日期格式,我将以正确的日期格式书写,否则将其作为传入字符串。

我的正常日期字符串格式是

2016-08-08T18:30:00.000Z //if string is in this format only it should go inside if case.

namespace ConsoleApplication3
   {
        class Program
        {
            static void Main(string[] args)
            {
                var answerString = "11,10";
                DateTime dDate;
                if (DateTime.TryParse(answerString, out dDate))
                {
                    var date = DateTime.Parse(answerString);
                    // var indianTime = CovertToDefaultTimeZone(date);
                    answerString = date.ToString("dd/MM/yyyy");
                    Console.WriteLine(answerString);
                    Console.ReadLine();
                }
                Console.WriteLine(answerString);
                Console.ReadLine();
            }
        }
    }

我该怎么办?

检查正确的日期格式导致麻烦

您可以这样使用DateTime.TryParseExact

DateTime result; 
var formatString = "yyyy-MM-ddTHH'':mm'':ss.fffZ";
var isValidDate = DateTime.TryParseExact("2016-08-08T18:30:00.000Z", formatString, CultureInfo.InvariantCulture, DateTimeStyles.None, out result);
    if (DateTime.TryParseExact(answerString,"yyyy-MM-ddTHH:mm:ss.fffZ",CultureInfo.InvariantCulture,DateTimeStyles.None,out dDate))
    {
                    //var date = DateTime.Parse(answerString); no need to parse again parsed date is in dDate
                    // var indianTime = CovertToDefaultTimeZone(date);
                    answerString = dDate.ToString("dd/MM/yyyy");
                    Console.WriteLine(answerString);
                    Console.ReadLine();
    }

使用TryParseExact方法