如何从C#中的给定字符串获取日期

问题描述

我只需要此字符串中的日期星期三,02/05/2020-12:31 ,每次使用时都应使用哪种格式 {MM / dd / yyyy}如果还有其他方法,我将获得相同的价值

        item.changed=Wed,02/05/2020 - 12:31


    `if (ListRecord.checkresponse == "Response Letters")
                {
                
                string checkresponse = item.changed;
                string issueDate = string.Format("{0:MM/dd/yyyy}",checkresponse);

                 }`

解决方法

要使用日期格式,您需要以DateTime对象而不是字符串开头。

因此,在您的方案中,您必须将字符串解析为DateTime,然后再次将其格式化为其他字符串格式。无法直接格式化字符串->字符串,所有有关格式化的逻辑都在DateTime类中。

这是一个例子:

string changed = "Wed,02/05/2020 - 12:31";
var checkresponse = DateTime.ParseExact(changed,"ddd,MM/dd/yyyy - HH:mm",CultureInfo.InvariantCulture);
string issueDate = string.Format("{0:MM/dd/yyyy}",checkresponse);
Console.WriteLine(issueDate);

演示:https://dotnetfiddle.net/bhNImo

(或者,由于您主要要在此处删除字符串的第一部分和最后一部分,并保留日期部分,因此您可以可以使用正则表达式从字符串中执行此操作,但总的来说,使用日期解析和格式设置可能更可靠。)