如何从2个不同的CultureInfo转换日期(字符串类型)后删除时间戳

时间:2016-04-25 13:27:21

标签: c# date parsing datetime

我正在尝试将dates文件中保存的CSV转换为FR格式,US格式使用:{/ p>

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);

但是我想删除timestamp上的dateus,因为它显示为4/25/2016 12:00:00 AM

我尝试使用DateTime.ParseExact Method (String, String, IFormatProvider),在第二个argumentstring类型)中指定所需的格式(MM/dd/yyyy)。但是,一旦exception读取的数据与指定的date format不匹配,就会触发CultureInfo,从而使转换成为一项艰难的任务。

因此,任何想法都将受到赞赏。感谢

1 个答案:

答案 0 :(得分:2)

如果您的代码生成此4/25/2016 12:00:00 AM字符串,则表示成功解析了您的字符串。这就是为什么这是格式化问题,而不是解析问题。

您需要在ToString方法上使用自定义格式,例如;

string dateus = DateTime.Parse(datefr, fr).ToString("M/dd/yyyy", us); // 4/25/2016

如果没有任何格式信息,Datetime.ToString(IFormatProvider)重载会使用The "G" standard format specifier,这会生成一个字符串,其中包含us种文化的ShortDatePatternLongTimePattern属性组合。< / p>