在30分钟而不是0分钟返回纪元

甲基纤维素

目前,我的代码四舍五入a.setMinutes(29)到0分钟。我如何将其取整为30分钟,所以无论何时值在30分钟标记之前,它都会在30分钟返回纪元。我正在约会预订系统中使用此功能,因此用户过去不能进行约会。

function getRoundedTime(inDate) {
        var d = new Date(); 
        if(inDate) {
          d = inDate;
        }
        var ratio = d.getMinutes() / 60;
        // Past 30 min mark, return epoch at +1 hours and 0 minutes
        if(ratio > 0.5){
            return (d.getHours() + 1) * 3600;
        }
        // Before 30 minute mark, return epoch at 0 minutes
        if(ratio < 0.5) {
             return d.getHours() * 3600;
        }
        // Right on the 30 minute mark, return epoch at 30 minutes
        return (d.getHours() * 3600) + 1800;
}

var a = new Date();
var b = new Date();
var c = new Date();
a.setMinutes(29);
b.setMinutes(30);
c.setMinutes(31);

var aNode = document.createTextNode("Time at " + a.getMinutes() + " minutes yields: " + getRoundedTime(a) + ", ");
var bNode = document.createTextNode("Time at " + b.getMinutes() + " minutes yields: " + getRoundedTime(b) + ", ");
var cNode = document.createTextNode("Time at " + c.getMinutes() + " minutes yields: " + getRoundedTime(c));

var target = document.getElementById("t");
target.appendChild(aNode);
target.appendChild(bNode);
target.appendChild(cNode);

<div id="t">

</div>

我试图将代码更改为此:

// Before 30 minute mark, return epoch at 30 minutes

   if(ratio < 0.5) {
        return ((d.getHours() * 3600) + 1800)
   }

但是,如果时间为10:04,则返回+1小时30分钟的纪元。

克什鲁夫

我想我正在理解您的问题。您希望将上午09:12舍入到上午09:30,以便用户只能在间隔内进行选择吗?

if(ratio < 0.5) {
     return (d.getHours() * 3600) + 1800;
}

我假设此函数花费的时间少于30分钟,并且将其返回为0分钟,例如09:12 am = 09:00 am?那么,如果这是期望的结果,为什么不只增加半个小时呢?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

移动30分钟前的文件

来自分类Dev

iOS禁用UIButton 30分钟

来自分类Dev

将时间分成30分钟

来自分类Dev

检查是否超过30分钟

来自分类Dev

查找30分钟前的文件

来自分类Dev

30分钟后性能下降

来自分类Dev

每小时:00分钟和:30分钟重新加载页面

来自分类Dev

将ionicTimePicker舍入到最近的30分钟间隔

来自分类Dev

子集观察结果相差至少30分钟

来自分类Dev

将小时DateTimePicker限制为30分钟间隔

来自分类Dev

按熊猫30分钟的空间分组

来自分类Dev

日期和时差显示30分钟为5

来自分类Dev

PHP-增加30分钟时间的问题

来自分类Dev

Unix Cron验证:不少于30分钟

来自分类Dev

30分钟后删除按钮。拉拉韦尔

来自分类Dev

Spark-30分钟通用窗口

来自分类Dev

IdentityServer4在30分钟后自动注销

来自分类Dev

30分钟后删除记录SQLite

来自分类Dev

显示当前时间前30分钟

来自分类Dev

SSRS-其中...最长不超过30分钟

来自分类Dev

最近30分钟的日志文件grep条目

来自分类Dev

如果闲置超过30分钟,如何关闭Linux?

来自分类Dev

使用telinit在30分钟内关闭我的系统

来自分类Dev

如何增加5小时30分钟的时间?

来自分类Dev

在30分钟之前获取Android Unix时代?

来自分类Dev

每天最多获取30分钟的B列总和

来自分类Dev

在Unix下30分钟开始cron作业

来自分类Dev

日期和时差显示30分钟为5

来自分类Dev

Cronjob每30分钟运行一次