C# 如何在从2个不同的CultureInfo转换日期(字符串类型)后删除时间戳
我正在尝试使用以下方法将C# 如何在从2个不同的CultureInfo转换日期(字符串类型)后删除时间戳,c#,date,parsing,datetime,C#,Date,Parsing,Datetime,我正在尝试使用以下方法将CSV文件中的日期从FR转换为US格式: CultureInfo fr = CultureInfo.GetCultureInfo("fr-FR"); CultureInfo us = CultureInfo.GetCultureInfo("en-US"); string datefr = "25/04/2016"; string dateus= DateTime.Parse(datefr, fr).ToString(us); 但是,我想删除dateus上的时间戳,因为
CSV
文件中的日期
从FR
转换为US
格式:
CultureInfo fr = CultureInfo.GetCultureInfo("fr-FR");
CultureInfo us = CultureInfo.GetCultureInfo("en-US");
string datefr = "25/04/2016";
string dateus= DateTime.Parse(datefr, fr).ToString(us);
但是,我想删除dateus
上的时间戳,因为它显示为4/25/2016 12:00:00 AM
我尝试使用DateTime.ParseExact方法(字符串, 一串 IFormatProvider)
,通过在第二个参数中指定所需的格式(MM/dd/yyyy
)。但是,一旦读取的数据的日期格式
与指定的文化信息
不匹配,则会触发异常
,使转换成为auckward任务
因此,任何想法都将受到欢迎。谢谢如果您的代码生成此4/25/2016 12:00:00 AM
字符串,这意味着您已经成功解析了字符串。这就是为什么这是一个格式化问题,而不是解析问题
您需要在ToString
方法上使用自定义格式,如
string dateus = DateTime.Parse(datefr, fr).ToString("M/dd/yyyy", us); // 4/25/2016
如果没有任何格式信息,重载将使用,这将生成一个字符串,该字符串将结合您的us
区域性和属性。@非常感谢,特别感谢您提供的解释-Soner
。