将DateTime转换为字符串“ yyyy-mm-dd”

Who*_*AmI -2 .net c# datetime converter console-application

我想知道如何将DateTime转换为字符串值(yyyy-mm-dd)。我有一个控制台应用程序,我希望用户能够将Date编写为“ yyyy-mm-dd”,然后将其转换为字符串。

我已经尝试过了,但是它似乎在相反的方向上起作用。这个想法是用户使用Console.ReadLine输入开始日期和结束日期。然后将这些值存储为字符串A和B中的字符串,以便以后使用。那可能吗?

string A = string.Empty;
string B = string.Empty;
DateTime Start = DateTime.ParseExact(A, "yyyy-mm-dd",CultureInfo.InvariantCulture);
Console.WriteLine("Enter StartDate! (yyyy-mm-dd)");
Start = Console.ReadLine();      
DateTime End = DateTime.ParseExact(A, "yyyy-mm-dd",CultureInfo.InvariantCulture);
Console.WriteLine("Enter EndDate! (yyyy-mm-dd)");
End = Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

谢谢

Llo*_*oyd 7

您走在正确的轨道上,但您还差一点。例如,在阅读时尝试如下操作:

var s = Console.ReadLine();
var date = DateTime.ParseExact(s,"yyyy-MM-dd",CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

您可能还想使用DateTime.TryParseExact()它,它更安全一些,并且您可以处理有人键入垃圾时发生的情况。按目前的情况,您将获得一个不错的异常。

输出为特定格式时,可以将相同的格式用于DateTime.ToString(),例如:

var date_string = date.ToString("yyyy-MM-dd");
Run Code Online (Sandbox Code Playgroud)