我从数据库提取数据到Excel,日期列以这种格式表示。
38876,588587963
我现在正尝试用C#读取此文件并将日期转换为DateTime格式。有人可以启发我使用这种日期格式。
当我尝试创建DateTime对象时,软件会引发错误。
$content = [IO.File]::ReadAllText($fileFullName)
答案 0 :(得分:3)
您可以使用DateTime
中的FromOADate
方法将其转换为DateTime
。但是,该方法接受一个不适用于当前格式的double,将其解析为double
并按如下所示设置区域性设置:
string output = "38876,588587963";
DateTime dt = DateTime.FromOADate(double.Parse(output, CultureInfo.CurrentCulture));
或者,如果您知道文化将永远是fr-CA
,则可以:
DateTime dt = DateTime.FromOADate(double.Parse(output, CultureInfo.CreateSpecificCulture("fr-CA")));