2013-08-22 191 views
0

我有一个儒略日期41348和Excel将此儒儒日期转换为3/15/2013。你知道Excel用来计算日历日期的逻辑吗?我需要这个相同的逻辑来将儒略日期转换为SQL Server中的日历日期。excel如何将儒略日期转换为日历日期?

+0

[C Pearson](http://www.cpearson.com/excel/datetime.htm)可能会有兴趣。谨防1904年体系。 – pnuts

回答

4

41348不是朱利安日期。 Excel需要使用公式将朱利安日期转换为适当的日期。 183349是朱利安日期的一个例子。 41348只是01/01/1900之后的天数。

如果我正确记得,您可以在SQL Server中将这些天数添加到01/01/1900以获得所需的结果。

编辑:是的,使用DATEADD。添加列与01/01/1900

UPDATE Table 
SET NewDate = DATEADD(Days, RawDate-2, '01/01/1900') 

您需要从RawDate除去1,因为1对应01/01/1900和另一1显然我不知道在哪里,但调查。

在我的SQL Server2008R2上,显然它认为1900是非闰年。有额外的1删除!

1

我希望41348公历日期不equl为“2013年3月15日”

的前两位为年份 和接下来的3个数字表示日期348指12月14日。

我在Sql中用下面的表达式做了同样的事情。

选择DATEADD(日,CAST(RIGHT( '41348',3)为INT) - 1,CONVERT(日期时间,LEFT( '41348',2)+ '0101',112))