我试图像星际迷航中的明星约会一样,让年度工作的时间缩短至秒。 我把它放在excel或google sheet单元格中,效果很好 -
=(YEARFRAC(DATE(YEAR(NOW()),1,1),NOW()))+(YEAR(NOW()))
2017年4月13日获得2017.283。这对于我想要的2017年那么“非常好”。去年的百分比。但要在“。”之后做一点。更准确我想包括时间所以它更像2017.28345。 那可能吗?然后我想把这个公式放在一个数字的网页上,这样我就可以像时钟一样检查它,也许是PHP。
答案 0 :(得分:1)
首先,要小心YEARFRAC。如果没有将Basis指定为1以使用一年中的实际天数,则默认情况下会计算假设所有月份都有30天并且一年中只有360天的分数。
https://support.office.com/en-us/article/YEARFRAC-function-3844141e-c76d-4143-82b6-208454ddc6a8
它更安全,是一个完全自行计算分数的解决方案:
=YEAR(TODAY())+(NOW()-DATE(YEAR(TODAY()),1,1))/(DATE(YEAR(TODAY())+1,1,1)-DATE(YEAR(TODAY()),1,1))
这只计算现在全年(包括时间)的分数,并将其添加到年份。使用(DATE(YEAR(TODAY())+1,1,1)-DATE(YEAR(TODAY()),1,1))
计算一年中的天数以处理闰年。
此公式使用基本功能,因此您应该能够将其翻译成其他语言,而无需链接到Excel以访问YEARFRAC功能。
答案 1 :(得分:0)
我这样做是为了做到这一点 -
<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 {}闰年才能让它变得更好。 如果有更好的方法,请告诉我。