【解決方法】Datetime.tryparseexact が yyyy-MM-dd に対して期待どおりに機能しない

プログラミングQA


// Online C# Editor for free
// Write, Edit and Run your C# code using C# Online Compiler

using System;
using System.Globalization;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        string strDate=Console.ReadLine();
        DateTime dateTime;
         bool   isValid = DateTime.TryParseExact(strDate, "yyyy-MM-dd",null, DateTimeStyles.None,  out dateTime);
            if (isValid){
                Console.WriteLine ("Valid date format");
            }else{
                Console.WriteLine ("Invalid date format");
            }
            string strDateC=DateTime.Now.ToString("yyyy-MM-dd");
            Console.WriteLine ("yyyy-mm-dd, Valid date format: "+strDateC);
    }
}

私が試したこと:

using System;
using System.Globalization;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        string strDate=Console.ReadLine();
        DateTime dateTime;
         bool   isValid = DateTime.TryParseExact(strDate, "yyyy-MM-dd", new CultureInfo("en-GB"), DateTimeStyles.None,  out dateTime);
            if (isValid){
                Console.WriteLine ("Valid date format");
            }else{
                Console.WriteLine ("Invalid date format");
            }
            string strDateC=DateTime.Now.ToString("yyyy-MM-dd");
            Console.WriteLine ("yyyy-mm-dd, Valid date format: "+strDateC);
    }
}

解決策 1

コードをコピーしてオンライン コンパイラに貼り付けると (C# オンライン コンパイラ | .NETフィドル[^])そして今日の日付を入力するとうまくいきます:

C#
using System;
using System.Globalization;
					
public class Program
{
	public static void Main()
	{
		Console.WriteLine("Hello World");
		string strDate=Console.ReadLine();
        DateTime dateTime;
         bool   isValid = DateTime.TryParseExact(strDate, "yyyy-MM-dd", new CultureInfo("en-GB"), DateTimeStyles.None,  out dateTime);
            if (isValid){
                Console.WriteLine ("Valid date format");
            }else{
                Console.WriteLine ("Invalid date format");
            }
	}
}
Hello World
2023-03-06
Valid date format

では、私は何をしていて、あなたはそうではありませんか、またはその逆ですか?

コメント

タイトルとURLをコピーしました