[ad_1]
你好
我想将字符串 str 转换为 DateTime,str=”2024/22/03″
我的计算机的系统格式是 m/d/yyyy
我想要格式为 yyyy/MM/dd 的 Date_1
Date_1 = Convert.ToDateTime(str, “yyyy/MM/dd”);
我尝试过的:
str = "2024/12/03"; Date_1 = Convert.ToDateTime(str, "yyyy/MM/dd");
解决方案1
DateTime.ParseExact 方法(系统) | 微软学习[^] 会做你想做的事:
C#
string str = "2024/22/03"; // Parse the string into a DateTime object with the specified format DateTime dateTime = DateTime.ParseExact(str, "yyyy/dd/MM", null); // Format the DateTime object into the desired format string formattedDate = dateTime.ToString("yyyy/MM/dd"); Console.WriteLine("Original string: " + str); Console.WriteLine("Formatted date: " + formattedDate);
和输出:
Original string: 2024/22/03 Formatted date: 2024/03/22
解决方案2
要补充格雷姆所说的,更好的解决方案是使用 DateTime.TryParseExact 方法(系统) | 微软学习[^] 相反 – 如果数据由于某种原因不是您期望的格式,这样您就可以发现错误,而不是应用程序崩溃:
C#
DateTime dt; if (!DateTime.TryParseExact(str, "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) { ... report or log the problem return; } ... dt contains a valid date set at midnight here
[ad_2]
コメント