Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中将长值转换为日期时间_C#_Datetime - Fatal编程技术网

C# 在C中将长值转换为日期时间

C# 在C中将长值转换为日期时间,c#,datetime,C#,Datetime,我使用Formating函数格式化日期,大多数值都是以DateTime格式发送给此函数进行格式化的,但有时我会在数据中得到像40544这样的值,这是一个长值,因此我得到DateTime异常,所以我想将其转换为datatime。 当我把它粘贴到Excel中并格式化到目前为止,它给了我2011年1月1日的时间。我怎么能在C中得到同样的时间呢 谢谢。我想你可能在找,但很难说,因为你的问题有点模糊。这是1900年1月1日以来的天数 因此,只需尝试以下方法: var number = 40544; var

我使用Formating函数格式化日期,大多数值都是以DateTime格式发送给此函数进行格式化的,但有时我会在数据中得到像40544这样的值,这是一个长值,因此我得到DateTime异常,所以我想将其转换为datatime。 当我把它粘贴到Excel中并格式化到目前为止,它给了我2011年1月1日的时间。我怎么能在C中得到同样的时间呢


谢谢。

我想你可能在找,但很难说,因为你的问题有点模糊。

这是1900年1月1日以来的天数

因此,只需尝试以下方法:

var number = 40544;
var date = new DateTime(1900, 1, 1).AddDays(number);

“我想你是说从那以后?”阿什伯拉琴科:当然。修正了。我希望C函数将长值转换为日期时间,例如40544到2011年1月1日,没有必要发布任何代码…我同意Sam的观点,问题不太清楚,我正在使用格式化函数。。。你已经在用了吗?哪一个?长期价值从何而来?什么样的编码?unix时代?excel?将上述值复制到excel中并将该单元格的格式设置为最新后,它将给出2011年1月1日的值。进一步看,该值不是一个长值,必须是OLE Automation日期的双精度值才能有意义。这意味着使用DateTime FromOADatedouble d是您想要使用的。不,我们的团队编写的格式化函数不同…抱歉英语不好…或者没有正确使用单词…但是问题现在解决了…谢谢大家…:谢谢你们做得很好…成功了:这是唯一有意义的答案,也许除了Oliver的答案根据作者提供的信息。干得好@谢谢你。我以前做过一些从Excel导入数据的工作,所以它有点响了。