Excel yearfrac()开始日期时钟

Excel yearfrac()开始日期时钟,excel,Excel,我试着让《星际迷航》中的明星约会让yearfrac工作,时间减少到秒。 我把它放在excel或google sheets单元格中,效果很好- =YearFractDateDearnow,1,1,NOW+Dearnow 获得2017年4月13日的2017.283。这对于2017年我想要的东西来说是非常好的。这一年的百分比已经过去了。但要在这之后再做一点。更准确地说,我想包括时间,因此更像2017年。28345。 可能吗?然后我想把这个公式放在一个网页上,这样我可以像时钟一样检查它,可能是PHP。首

我试着让《星际迷航》中的明星约会让yearfrac工作,时间减少到秒。 我把它放在excel或google sheets单元格中,效果很好-

=YearFractDateDearnow,1,1,NOW+Dearnow

获得2017年4月13日的2017.283。这对于2017年我想要的东西来说是非常好的。这一年的百分比已经过去了。但要在这之后再做一点。更准确地说,我想包括时间,因此更像2017年。28345。
可能吗?然后我想把这个公式放在一个网页上,这样我可以像时钟一样检查它,可能是PHP。

首先,要小心YEARFRAC。如果不将基准指定为1以使用一年中的实际天数,默认情况下,它将计算分数,假设所有月份都有30天,而一年中只有360天

我们自己计算分数更安全,也是一个完整的解决方案:

=YEAR(TODAY())+(NOW()-DATE(YEAR(TODAY()),1,1))/(DATE(YEAR(TODAY())+1,1,1)-DATE(YEAR(TODAY()),1,1))
这只是计算出现在包括时间在内的一整年中的分数,并将其添加到一年中。使用DATEYEARTODAY+1,1,1-DATEYEARTODAY,1,1计算一年中的天数以处理闰年


此公式使用基本函数,因此您应该能够将其翻译成其他语言,而无需链接到Excel即可访问YEARFRAC函数。

我就是这样做的-

<html>
 <head>
<meta http-equiv="refresh" content="1" >
  <title>Current Stardate</title>
 </head>
 <body><center>
<?php
$year = date(Y);
$day = date(z);
$hours = date(H);
$minutes = date(i);
$seconds = date(s);
$stardate = ($day/365)+$year;
$stardatetime = (($day+(($hours+(($minutes+($seconds/60))/60))/24))/365)+$year;
?>
 <p>The current stardate is: </br><?php echo round($stardate, 5) ?></p>
 <p>The current stardate with time is: </br><?php echo round($stardatetime, 8) ?></p>
<p><?php echo "The current earth date is: </br>" . date("l, d M Y. Hm:s") . " hours<br>"; ?></p>
 </center></body>
</html>
我需要为闰年做一个if-else{},让它变得更好。
如果还有更好的方法,请告诉我。

谢谢你的建议!