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

时间:2019-10-10 09:20:38

标签: c# datetime string-formatting

下面是我的代码

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

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

任何人都可以指导我如何做,谢谢。

5 个答案:

答案 0 :(得分:1)

您可以轻松地做到这一点,使用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)重载。这样,您的格式将与区域性定义的格式保持一致。

答案 1 :(得分:0)

我认为使用DateTime.ToString()和特定格式应该可以完成工作。试试这个:

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

下面一个为我工作的人

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

答案 4 :(得分:0)

您可以分割日期并使用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");