繁体   English   中英

如何使用 luxon ReactJs 将秒正确转换为分钟/小时

[英]how to correctly converter seconds to minute/hour with luxon ReactJs

我想解释一下我今天的问题。

目前我有一个 function 可以正常工作

function numberToHms(numbers) {
  let hms;
  let number = numbers;
  number = Number(number);

  const h = Math.floor(number / 3600);
  const m = Math.floor((number % 3600) / 60);
  const s = Math.floor((number % 3600) % 60);

    const hour =
         h > 0
             ? `${h}h`
             : "";

     const minute =
         m > 0
             ? `${m}min`
             : "";

    const second =
         s > 0
             ? `${s}${
                   m === 0 && h === 0
                       ? `seconde`
                       : `sec`
             : "";

     if (h > 0) {
         hms = hour + minute;
     }

     if (m > 0 && h === 0) {
         hms = minute + second;
     }

    if (s > 0 && m === 0 && h === 0) {
         hms = second;
     }

     return hms;
 }

使成为

<p>{numberToHms(24)}</p>

所以我的问题和下一个我想更换这个 function 直接使用 luxon

如果您有任何想法,谢谢

内夫

function numberToHms(number) {

const duration = Duration.fromObject({ seconds: number});

const minutesSeconds = duration.toFormat('mm:ss'); //to convert it to Hours minutes and seconds use this duration.toFormat('hh:mm:ss');
console.log(minutesSeconds);

return minutesSeconds
}

你可以使用这样的东西

import React from 'react';
import { DateTime } from 'luxon';

function secondsToHMS(seconds) {
  const duration = DateTime.fromMillis(seconds * 1000);
  return duration.toFormat('hh:mm:ss');
}

function App() {
  return (
    <div>
      <p>{secondsToHMS(3661)}</p>
    </div>
  );
}```
And if you want to custom the format you could do something like
```javascript
return duration.toFormat('hh hours, mm minutes and ss seconds');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM