如何将日期时间转换为长日期?

How to Convert a datetime to Long Date?

下面是我的代码,

DateTime DateFrom_ = Convert.ToDateTime(CSO.dateFrom);

我正在获取当前值 - 29/10/2019 00:00:00 我想要的是我想将上面的格式转换为这种格式 - 2019 年 10 月 29 日,星期二

谁能指导我怎么做,谢谢。

你可以很容易地做到这一点,使用DateTime.ParseExact从某种格式解析,然后根据你的需要使用不同格式的ToString来表示它:

var date = DateTime.ParseExact("29/10/2019 00:00:00", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
date.ToString("ddd, dd MMM yyyy"); // output Tue, 29 Oct 2019

请注意,如果您需要特定于文化的长日期表示,那么您应该使用 ToString("D", cultureInfo) 重载。这样,您的格式将与文化定义的格式保持一致。

我认为使用具有特定格式的 DateTime.ToString() 应该可以。试试这个:

date.ToString("D", CultureInfo.CreateSpecificCulture("en-US"));

如此处所述,您想使用 "DateTime.ParseExact"

  var str = "Tue, 29 Oct 2019";
  var date = DateTime.ParseExact(str, "ddd, dd MMM yyyy", CultureInfo.InvariantCulture);

下面一个对我有用,

DateTime DateFrom_ = Convert.ToDateTime(CSO.dateFrom);    
var convertedDate = DateFrom_.ToString("ddd', 'dd' 'MMM' 'yyyy");

您可以拆分日期并使用 DateTime.ParseExact。

 string[] tokens = "29/10/2019 00:00:00".Split(' ');
    DateTime DateFrom_ =  DateTime.ParseExact(tokens[0], "dd/MM/yyyy", CultureInfo.InvariantCulture);

 var dateString = DateFrom_.ToString("ddd, dd MMM yyyy");