web-dev-qa-db-ja.com

Momentjsを使用してミリ秒を時間と分に変換する

Momentjsは初めてです。私はそれを使用してミリ秒を時間と分に変換しようとしています。以下では、xはミリ秒です

x = 433276000
var y = moment.duration(x, 'milliseconds').asHours;

誰でも助けることができますか?

24
user3214545

私はこれをやった...

var x = 433276000
var tempTime = moment.duration(x);
var y = tempTime.hours() + tempTime.minutes();
54
user3214545

これを試して:

var x = 433276000
var d = moment.duration(x, 'milliseconds');
var hours = Math.floor(d.asHours());
var mins = Math.floor(d.asMinutes()) - hours * 60;
console.log("hours:" + hours + " mins:" + mins);
30
closure

moment-duration-formatプラグイン :の使用

moment.duration(ms).format("h:mm")
16

moment.utc() を使用して、ミリ秒からMoment.jsの日付を作成できます。

var milliseconds = 1000;
moment.utc(milliseconds).format('HH:mm');
11
strictlyk3v

あなたが望むものを達成する簡単な方法があります。

この

moment('2000-01-01 00:00:00').add(moment.duration(1000)).format('HH:mm:ss');

これを出力します

00:00:01

私は空想ではありませんが、100%純粋な瞬間jsです。

edit:24時間以上の期間は機能しません

6
dmmd

この操作にMomentを使用する必要はありません。

一行で書くことができます:

var hours = Math.round((450616708 / 1000 / 60 / 60) * 100) / 100;

または関数として:

function millisecondsToHours(ms){
  return Math.round((ms / 1000 / 60 / 60) * 100) / 100;
}
2
Scott Puleo

これはサポートされていないようです このSOごとこのgithubの問題 に続いて、 moment-to-countdown plugin があります。

ただし、そもそも Countdown.js が必要なようです。

countdown(0, 433276000, countdown.HOURS | countdown.MINUTES).toString();

これは、Unixエポックを修正するため、うるう秒を考慮せず、その問題について何も飛ばさないことに注意してください(したがって、純粋な時間間隔ではありません)。

2
djechlin

Moment.jsの期間では、24時間を超えると予想される場合は、Math.truncを数時間だけ使用できます。 hh:mm:ss形式。

var seconds = moment.duration(value).seconds();
var minutes = moment.duration(value).minutes();
var hours = Math.trunc(moment.duration(value).asHours());

ここを参照してください: https://codepen.io/brickgale/pen/mWqKJv?editors=1011

moment( '2000-01-01 00:00:00')。millisecond(XXXXXX).format( "HH:mm:ss")

0
Batman