C# 使用lambda表达式将datetime转换为MM yyyy,dd

C# 使用lambda表达式将datetime转换为MM yyyy,dd,c#,linq,C#,Linq,我正在尝试将日期格式更改为MM:yyyy:dd(2018年10月24日),我尝试了我知道的所有方法,但都不起作用。。。这是我的代码(我在网上找到的许多方法之一): 请帮帮我。字母“MM”将只返回月份编号。如果要显示月份名称,需要使用以下内容: DateTime.ToString("MMMM yyyy, dd", CultureInfo.InvariantCulture); 我认为在你的代码中: a.txndate.ToString("MMMM yyyy, dd", CultureInfo.In

我正在尝试将日期格式更改为
MM:yyyy:dd
(2018年10月24日),我尝试了我知道的所有方法,但都不起作用。。。这是我的代码(我在网上找到的许多方法之一):

请帮帮我。

字母“MM”将只返回月份编号。如果要显示月份名称,需要使用以下内容:

DateTime.ToString("MMMM yyyy, dd", CultureInfo.InvariantCulture);
我认为在你的代码中:

a.txndate.ToString("MMMM yyyy, dd", CultureInfo.InvariantCulture);
这将返回一个具有所需格式的字符串


编辑:如果要更改de语言,只需更改IFormatProvider(CultureInfo.InvariantCulture)

您可以使用它指定日期时间格式

MMMM
月份全称(如12月)
yyyy
Year(如2015年)
dd
以01到31之间的数字表示月份的日期


“我已经尝试了我知道的每一种方法”-请你至少展示一下你的一种尝试好吗?什么是“不起作用”呢?有例外吗?意外的结果?@Sinatr:这就是为什么他说“尝试了我知道的所有方法”(强调最后两个词)“更改日期格式”,更改数据库中的格式?
日期时间上没有格式。或者以指定的格式显示日期?Linq根本无法帮助您转换数据。只要写下没有linq你会做什么,然后把它放到一个linq表达式中。它不起作用,返回错误。错误返回的是什么?
a.txndate.ToString("MMMM yyyy, dd", CultureInfo.InvariantCulture);
var listDate = new List<DateTime>();
listDate.Add(new DateTime(1980, 5, 5));
listDate.Add(new DateTime(1982, 10, 20));
listDate.Add(new DateTime(1984, 1, 4));
listDate.Add(new DateTime(1979, 6, 19));

var result = listDate.Select(x => new { property1 = x.ToString("MMMM yyyy, dd"), property2 = x });

foreach (var d in result)
{
    Console.WriteLine(d.property1);
}
mai 1980, 05
octobre 1982, 20
janvier 1984, 04
juin 1979, 19