js 将秒数 转换为 天、时、分、秒格式

这是后台接口返回的秒数,将下面红框的字段转为天、时、分、秒

 实现思路:封装函数,多次调用,先将Sting转为int 类型,判断参数是否大于一天的秒数、大于一个小时的秒数、一分钟的秒数,计算之后拼接为字符串返回,(看注释提示)

//将秒数转换为天时分秒格式

function setSeconds(value) {

    var result = ""

    var sencond = parseInt(value)

    //3600秒等于60分钟等于1小时

    if(sencond > 3600 * 24){  //表示大于一天

        var day = sencond / (3600 * 24);

        sencond = sencond % (3600 * 24);    //求天数整除外剩余的秒数

        var hour = sencond / 3600;          //1小时==60分钟==3600秒,所以剩余的秒数÷3600= 得到几个小时数

        result = parseInt(day)+"天"+parseInt(hour)+"时";

    } else if(sencond > 3600){     //表示大于一个小时

       

        var hour = sencond / 3600;

        var minute = sencond % 3600 / 60;         //求小时数整除外剩余的秒数, 秒数÷60秒 = 得到几分钟

        result = parseInt(hour)+"时"+parseInt(minute)+"分";

    } else if(sencond > 60){  //表示大于一分钟

       

        var minute = sencond / 60;

        var sec = sencond % 60;           //求分钟数整除外剩余的秒数

        result = parseInt(minute)+"分"+parseInt(sec)+"秒";


 

    } else {  //不大于一天、不大于一个小时、也不大于一分钟,那就是秒数

        result = ""+parseInt(sencond)+"秒";

    }

    return result

}

 这里拿到数据接口后进行循环遍历,调用上面的函数进行计算并且循环赋值 

 newRptdatas.suppDelayTable.map(v=>{

            v.prodOverDelaySec = setSeconds(v.prodOverDelaySec)

            v.storaOverDelaySec = setSeconds(v.storaOverDelaySec)

        })

 计算后的效果图

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用 JavaScript 中的 Date 对象来将间戳转换为"几"。可以使用 Date 构造函数将间戳传入,然后使用 getUTCDate、getUTCHours、getUTCMinutes、getUTCSeconds 方法别获取、小钟、。代码示例如下: ```js var timestamp = 1623471235; var date = new Date(timestamp * 1000); var days = date.getUTCDate() - 1; var hours = date.getUTCHours(); var minutes = date.getUTCMinutes(); var seconds = date.getUTCSeconds(); console.log(days + "" + hours + "" + minutes + "" + seconds + ""); ``` 其中 timestamp 是间戳。 需要注意的是,JS中的间戳是毫为单位的,所以需要将间戳乘1000。 ### 回答2: 在JavaScript中,我们可以使用内置的Date对象来将间戳转换为"几"的形式。 首先,我们需要将间戳转换为Date对象。可以使用`new Date(timeStamp)`来实现,其中`timeStamp`是要转换间戳。 然后,我们可以使用Date对象的方法来获取对应的年、月、日、等信息。例如,`getDate()`获取月份中的日期,`getHours()`获取小数,以此类推。 接下来,我们可以根据获取到的信息来计算出"几"的形式。这可以通过使用除法和取模(%)操作符来实现。 以下是一个示例代码: ```javascript function timeStampToDuration(timeStamp) { var time = new Date(timeStamp); var days = Math.floor(time / (24 * 3600 * 1000)); // 计算数 var hours = Math.floor((time % (24 * 3600 * 1000)) / (3600 * 1000)); // 计算小数 var minutes = Math.floor((time % (3600 * 1000)) / (60 * 1000)); // 计算钟数 var seconds = Math.floor((time % (60 * 1000)) / 1000); // 计算秒数 return days + "" + hours + "" + minutes + "" + seconds + ""; } var timeStamp = 1618500640000; // 假设间戳为此值 console.log(timeStampToDuration(timeStamp)); // 输出: "18153040" ``` 以上代码将间戳`1618500640000`转换为"18153040"的形式,并将结果输出到控制台。 ### 回答3: JavaScript中可以使用内置的Date对象将间戳转换为"几"。 我们可以创建一个函数来实现这个转换。首先,我们将间戳转换为毫秒数,并将其传递给Date对象。然后,我们可以使用Date对象提供的方法获取相关的间信息,包括数、小数、钟数和秒数。最后,我们将这些间信息拼接成所需的格式。 下面是一个示例代码: ```javascript function convertTimestamp(timestamp) { var seconds = Math.floor(timestamp / 1000); var minutes = Math.floor(seconds / 60); var hours = Math.floor(minutes / 60); var days = Math.floor(hours / 24); seconds %= 60; minutes %= 60; hours %= 24; var result = days + " " + hours + "小 " + minutes + " " + seconds + ""; return result; } var timestamp = 1595446981000; var convertedTime = convertTimestamp(timestamp); console.log(convertedTime); ``` 这样,我们就可以将间戳`1595446981000`转换为"18 19小 16 21"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值