C# 字符串的日期时间格式
我有一个字符串值,我需要更改为DateTime,并了解它是否有效 字符串如下:例如26.04.2021,Lunes 我试图获得下面的值,但它不起作用C# 字符串的日期时间格式,c#,datetime,C#,Datetime,我有一个字符串值,我需要更改为DateTime,并了解它是否有效 字符串如下:例如26.04.2021,Lunes 我试图获得下面的值,但它不起作用 var isValid = DateTime.TryParseExact("26.04.2021, Lunes", "dd.MM.yyyy dddd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTi
var isValid = DateTime.TryParseExact("26.04.2021, Lunes", "dd.MM.yyyy dddd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out var validDate);
正确的格式是什么?我认为您需要传递特定的区域性,并且我认为您的格式字符串中缺少逗号(
,
):
var isValid=DateTime.TryParseExact(“2021年4月26日,Lunes”,“dd.MM.yyyy,dddddd”),新文化信息(“es”),datetimestyle.None,out var validDate);
在固定区域性中,“Lunes”不是有效的日名称。我假设目标语言是西班牙语,因此我可以声明文化:
var culture = CultureInfo.GetCultureInfoByIetfLanguageTag("es-ES");
下一个问题是您的日期中有逗号,但您的格式没有,因此我们将更正:
"dd.MM.yyyy, dddd"
综合起来,我们得到:
var isValid = DateTime.TryParseExact("26.04.2021, Lunes", "dd.MM.yyyy, dddd", culture, System.Globalization.DateTimeStyles.None, out var validDate);
请注意,我已经用culture
变量替换了System.Globalization.CultureInfo.InvariantCulture
代码现在起作用了
“Lunes”在不变区域性中不是有效的日名称,并且您的输入数据中有一个额外的
,
,但它不是您的格式字符串。@感谢您的评论,我尝试添加额外的,但现在无法再工作了。这是西班牙语日期时间格式。“Lunes”在西班牙语中是指星期一。