C# 将DateTime从英语转换为西班牙语

C# 将DateTime从英语转换为西班牙语,c#,.net,datetime,datetime-format,C#,.net,Datetime,Datetime Format,有人知道如何将DateTime从英语转换成西班牙语吗 例如: 2011年1月1日,星期一 进入 2011年1月1日,埃内罗,卢恩斯 提前感谢。y您可以使用CultureInfo来完成此操作,如果您在正在运行的线程中设置了当前区域性,则日期将以正确的区域性格式化 在vb.net中 Dim TheDate As DateTime = DateTime.Parse("January 01 2011") Thread.CurrentThread.CurrentCulture = New Cul

有人知道如何将
DateTime
从英语转换成西班牙语吗

例如:

2011年1月1日,星期一

进入

2011年1月1日,埃内罗,卢恩斯


提前感谢。

y您可以使用CultureInfo来完成此操作,如果您在正在运行的线程中设置了当前区域性,则日期将以正确的区域性格式化

在vb.net中

    Dim TheDate As DateTime = DateTime.Parse("January 01 2011")
Thread.CurrentThread.CurrentCulture = New CultureInfo("es-ES")
MsgBox(TheDate.ToLongDateString)
或c#

您可以使用将输入解析为使用英语的值。然后,可以将值与西班牙语一起使用,将其转换为字符串

var input = "Tuesday, July 26, 2011";
var format = "dddd, MMMM dd, yyyy";

var dt = DateTime.ParseExact(input, format, new CultureInfo("en-US"));

var result = dt.ToString(format, new CultureInfo("es-ES"));
// result == "martes, julio 26, 2011"
考虑到西班牙用户可能更喜欢西班牙标准格式而不是自定义格式,但是:

var result = dt.ToString("D", new CultureInfo("es-ES"));
// result == "martes, 26 de julio de 2011"

获取日期时间。现在,需要时进行翻译

private DateTime lastConnection = DateTime.Now;
String dateString =lastConnection.ToString("dd") +" de "+ lastConnection.ToString("MMMM",new CultureInfo("es-ES"))

2011年1月1日是星期六。您可能无法正确解析此日期。西班牙语中的月份没有大写字母。
“dddd,MMMM dd,yyyyy”
格式在西班牙语中是非标准格式。@Mechanicalsnail yes是标准格式:[day]de[无大写月份]del[四位数年份]。正确的方法是“del”,但也可以接受“de”。(我是西班牙大学教师)对于波多黎各人来说,记住ES来自西班牙。虽然我们使用西班牙语格式的日期,但我们使用句点(.)表示十进制数字(与西班牙和其他欧洲国家相反)。因此,在本例中,使用Thread.CurrentThread.CurrentCulture=new CultureInfo(“es PR”);如果要在正在运行的线程中设置当前区域性。
private DateTime lastConnection = DateTime.Now;
String dateString =lastConnection.ToString("dd") +" de "+ lastConnection.ToString("MMMM",new CultureInfo("es-ES"))