C# 将日期时间更改为不同的区域性

C# 将日期时间更改为不同的区域性,c#,asp.net,vb.net,C#,Asp.net,Vb.net,我有一个这种格式的日期时间“2013年12月4日,星期三”。我希望在运行时将其转换为不同的区域性,以便能够根据区域性将其存储在数据库中 这是我的代码: dysMngmt.Day = curntDate.ToString("D"); 上面的一行代码得到了日期。 所以,请帮帮我。您可以使用ToString函数的第二个参数,它使您能够选择您认为合适的区域性: curntDate.ToString("D", CultureInfo.GetCultureInfo("en-US")) 顺便提一下,为什么

我有一个这种格式的日期时间“2013年12月4日,星期三”。我希望在运行时将其转换为不同的区域性,以便能够根据区域性将其存储在数据库中

这是我的代码:

dysMngmt.Day = curntDate.ToString("D");
上面的一行代码得到了日期。
所以,请帮帮我。

您可以使用ToString函数的第二个参数,它使您能够选择您认为合适的区域性:

curntDate.ToString("D", CultureInfo.GetCultureInfo("en-US"))

顺便提一下,为什么要将数据库中的日期保存为字符串?为什么不使用本机日期类型?它将占用更少的空间,并允许您进行比较等,然后您在从数据库中读取时只需使用currect区域性。

您可以使用ToString函数的第二个参数,它使您能够选择您认为合适的区域性:

curntDate.ToString("D", CultureInfo.GetCultureInfo("en-US"))

顺便提一下,为什么要将数据库中的日期保存为字符串?为什么不使用本机日期类型?它将占用更少的空间,并允许您进行比较等,然后您在从数据库中读取时只需使用currect区域性。

除非您有很好的理由在应用程序中单独处理每个日期的区域性,否则您应该在应用程序级别设置此值,以便默认的ToString()适用于您的预期文化


此外,您可能也不应该将日期作为文本存储在数据库中。

除非您有很好的理由在应用程序中单独处理每个日期的区域性,否则您应该在应用程序级别设置该区域性,以便默认的ToString()与您预期的区域性一起工作


此外,您可能也不应该将日期存储为数据库中的文本。

不要将
DateTime
存储为
varchar
。除此之外,
datetime
没有格式,所以您可以使用字符串。
curntDate
是字符串吗?您看到了吗?
DateTime
值根本没有格式。只有当您将其转换为字符串时,它才会获取格式。您最好也将其存储为数据库中的
datetime
值,并且仅当您希望在某处显示它时才将其转换为字符串。不要将
datetime
存储为
varchar
。除此之外,
datetime
没有格式,所以您可以使用字符串。
curntDate
是字符串吗?您看到了吗?
DateTime
值根本没有格式。只有当您将其转换为字符串时,它才会获取格式。您最好也将其存储为数据库中的
datetime
值,并且仅当您希望在某处显示它时才将其转换为字符串。感谢回复luan。我有一个要求以这种格式保存。例如,如果我们将“2013年12月4日星期三”转换为西班牙语,将得到“Miércoles,04 de diciembre 2013”。所以我想根据数据库中的语言代码对其进行更改。@user2454428:是的,但在将其放入数据库时您真的必须这样做吗?当你从数据库中读取数据时,你不能这样做吗?只是好奇:)谢谢回复luan。我有一个要求以这种格式保存。例如,如果我们将“2013年12月4日星期三”转换为西班牙语,将得到“Miércoles,04 de diciembre 2013”。所以我想根据数据库中的语言代码对其进行更改。@user2454428:是的,但在将其放入数据库时,您真的必须这样做吗?当你从数据库中读取数据时,你不能这样做吗?只是好奇:)