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

时间:2016-10-05 10:35:25

标签: c#

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

我的日常字符串格式为

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();
            }
        }
    }

我该怎么办?

2 个答案:

答案 0 :(得分:1)

    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方法。

答案 1 :(得分:1)

您可以像这样使用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);