如何获得今天的当前时间百分比?

时间:2012-06-08 20:55:36

标签: php javascript jquery

我试图获取当前时间的当前时间百分比。它可以是javascript或php。我怎么能这样做?

5 个答案:

答案 0 :(得分:4)

使用Date对象和一些算术。将当天的组件转换为等效单位(例如秒),找到它们的总和,并将其除以每天的单位数。

例如,以下是JavaScript中的解决方案。

var d = new Date();
var pctDayElapsed = (d.getHours() * 3600 + d.getMinutes() * 60 + d.getSeconds() + d.getMilliseconds()/1000)/86400;

请注意,此方法可以依赖浏览器的本地化。您的结果将取决于浏览器的时区。

答案 1 :(得分:3)

我会使用当前时间来计算今天已经过的秒数,然后将其除以86400(一天中的秒数),然后将其乘以100以使其从十进制到百分比。

答案 2 :(得分:3)

以下是PHP的答案:

$now=time();
$today=strtotime(date("m/d/Y"));
$seconds=$now-$today;
$day=24*60*60;//seconds in a day;
$percent=$seconds/$day*100;

OR

$hours=date('G')*60*60;
$minutes=date('i')*60;
$seconds=date('s');
$day=24*60*60;//seconds in a day;
$percent=($hours+$minutes+$seconds)/$day*100

答案 3 :(得分:3)

<?php
$timestamp = time();
$hours = intval(date("G", $timestamp));
$minutes = intval(date("i", $timestamp));
$seconds = intval(date("s", $timestamp));
$proportion_elapsed = ($hours * 60 * 60 + $minutes * 60 + $seconds) /
    (24 * 60 * 60);
printf("%0.4F of the day has elapsed.", $proportion_elapsed);
?>

只要一天有86,400秒,这可以正常工作,由于夏令时或闰秒,这可能不正确。

答案 4 :(得分:1)

通过将当前时间除以86400向下舍入到当天的开始,然后将该整数值乘以86400.然后取当前时间的差值(当然是以秒为单位),然后将86400除以它。最后,乘以100。

编辑:mod效率更高

伪代码:

MidnightDays = (TimeInSeconds % 86400) * 86400;
Percentage = (TimeInSeconds - MidnightDays) / 86400 * 100;