我正在尝试将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)
,在第二个argument
(string
类型)中指定所需的格式(MM/dd/yyyy
)。但是,一旦exception
读取的数据与指定的date format
不匹配,就会触发CultureInfo
,从而使转换成为一项艰难的任务。
因此,任何想法都将受到赞赏。感谢
答案 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
种文化的ShortDatePattern
和LongTimePattern
属性组合。< / p>