如何获取今天的当前时间已用百分比
How to get current time elapsed percentage of today?
我试图获取当前时间经过的今天时间的百分比。它可以是javascript或php。我该怎么做?
使用Date
对象和一些算术。 将当天的分量转换为等效单位(如秒),找到它们的总和,然后将其除以每天该单位的数量。
例如,以下是 JavaScript 中的解决方案。
var d = new Date();
var pctDayElapsed = (d.getHours() * 3600 + d.getMinutes() * 60 + d.getSeconds() + d.getMilliseconds()/1000)/86400;
请注意,此方法依赖于浏览器的本地化。 您的结果将取决于浏览器的时区。
我会使用当前时间来计算今天经过的秒数,然后将其除以 86400(一天中的秒数),当然再乘以 100 以使其从小数到百分比。
这是PHP中的答案:
$now=time();
$today=strtotime(date("m/d/Y"));
$seconds=$now-$today;
$day=24*60*60;//seconds in a day;
$percent=$seconds/$day*100;
或
$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
<?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 秒,这就可以工作,由于夏令时或闰秒,这可能不正确。
通过将
当前时间除以 86400 向下舍入到一天的开始,然后将该整数值乘以 86400。然后取当前时间的差(当然以秒为单位),然后将 86400 除以其中。 最后,乘以 100。
编辑:模组工作效率更高
伪代码:
MidnightDays = (TimeInSeconds % 86400) * 86400;
Percentage = (TimeInSeconds - MidnightDays) / 86400 * 100;
相关文章:
- Java脚本时间添加
- Json数据包含日期和时间格式
- 如何根据时间运行不同的脚本
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 在wordpress一定时间后更改自定义字段
- 更改angularjs中的日期-时间格式
- 将当前时间添加到我的页面上的特定部分
- 门户网站:当地时间有多有用
- 显示时间的脚本
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 通过JSON&比较时间
- Javascript时间轨迹
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- 高库存时期时间与时区不匹配
- Jquery如何检查今天的时间大于使用给定时间
- JavaScript 加权随机或百分比时间
- 如何获取今天的当前时间已用百分比
- D3 时间刻度将前后时间范围添加时间间隔的百分比
- 比较持续时间并返回匹配的百分比