C# DateTime.Parse,拉脱维亚文化设置

C# DateTime.Parse,拉脱维亚文化设置,c#,asp.net,datetime,globalization,cultureinfo,C#,Asp.net,Datetime,Globalization,Cultureinfo,我正在以dd/MM/yyyy格式发送一个字符串,然后根据web.config全球化设置将其解析为lv区域性 然后我将日期与日期时间进行比较。现在,查看它是否在过去 问题是,DateTime.Parse将我的字符串转换为dd.MM.yyyy格式,但DateTime.Now具有MM.dd.yyyy格式,因此比较总是失败 为什么在同一线程区域性上,DateTime.Now与DateTime.Parse的输出不同 谢谢 (更新)这是我正在使用的代码: InputText包含来自DD.MM.YYYY格式表

我正在以
dd/MM/yyyy
格式发送一个字符串,然后根据web.config全球化设置将其解析为
lv
区域性

然后我将日期与日期时间进行比较。现在,查看它是否在过去

问题是,
DateTime.Parse
将我的字符串转换为
dd.MM.yyyy
格式,但DateTime.Now具有
MM.dd.yyyy
格式,因此比较总是失败

为什么在同一线程区域性上,
DateTime.Now
DateTime.Parse
的输出不同

谢谢

(更新)这是我正在使用的代码:

InputText包含来自DD.MM.YYYY格式表单的输入

DateTime date = DateTime.Parse(InputText, CultureInfo.CurrentCulture);
// Check it's not in the past
this.IsValid = (date.CompareTo(DateTime.Now) > 0);
此上下文中的[DateTime.Now]是使用lv cultureInfo的MM.DD.YYYY格式
[date]在DateTime之后是DD.MM.YYYY格式。Parse

A
DateTime
没有格式-它只是一个时间点

如果您正在查看它,则表示您正在输出它。使用正确的区域性输出日期

具有采用格式提供程序(如
CultureInfo
)的重载:

string formatted = DateTime.ToString(new CultureInfo("lv-LV"));

如果未指定(在代码或配置中),将使用默认的系统区域性(或在某些情况下使用
CultureInfo.InvariantCulture

A
DateTime
没有格式-它只是一个时间点

如果您正在查看它,则表示您正在输出它。使用正确的区域性输出日期

具有采用格式提供程序(如
CultureInfo
)的重载:

string formatted = DateTime.ToString(new CultureInfo("lv-LV"));

如果未指定(在代码或配置中),将使用默认的系统区域性(或在某些情况下使用
CultureInfo.InvariantCulture

如果只想比较这两个日期,不需要先转换为字符串

DateTime myDate = DateTime.Parse(myDateAsString);//with the correct locale to ensure it's correctly parsed
if (myDate < DateTime.Now)
{
  //it's in the past
}
DateTime myDate=DateTime.Parse(myDateAsString)//使用正确的区域设置以确保正确解析
如果(myDate
如果只想比较这两个日期,不需要先转换为字符串

DateTime myDate = DateTime.Parse(myDateAsString);//with the correct locale to ensure it's correctly parsed
if (myDate < DateTime.Now)
{
  //it's in the past
}
DateTime myDate=DateTime.Parse(myDateAsString)//使用正确的区域设置以确保正确解析
如果(myDate
我认为您需要向我们展示一些更完整的代码;
DateTime
(例如
.Now
,或
.Parse
的结果)没有自己的格式-ddmm与mmdd是字符串表示的属性,而不是
DateTime
值本身。是否将两个日期作为字符串进行比较?如果你比较两个datetime结构,那么无论toString代表什么文化,我认为你需要向我们展示一些更完整的代码;
DateTime
(例如
.Now
,或
.Parse
的结果)没有自己的格式-ddmm与mmdd是字符串表示的属性,而不是
DateTime
值本身。是否将两个日期作为字符串进行比较?如果要比较两个datetime结构,那么toString所代表的区域性应该无关紧要。