Soy nuevo en Momentjs. Estoy tratando de utilizar para convertir los milisegundos para las horas y los minutos. A continuación, x es milisegundos

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

Alguien puede ayudar?

  • De donde la has de verificación en la moment.js la documentación que no se podía encontrar?
  • Añadido el dot, pero todavía no funciona
  • Ahora que ha agregado la falta de punto, considere llamar a asHours() en lugar de evaluar.
  • Parece incompatible. stackoverflow.com/questions/13262621/…
  • También no parece necesario especificar ‘milisegundos’ como un argumento ya que es de milisegundos. Y faltan los paréntesis al final: var y = moment.duration(x).asHours();
InformationsquelleAutor user3214545 | 2014-04-08

10 Comentarios

  1. 53

    Terminé haciendo esto…

    var x = 433276000
    var tempTime = moment.duration(x);
    var y = tempTime.hours() + tempTime.minutes();
    • Esta es claramente la respuesta correcta, ya que tempTime.minutes() da los minutos restantes, después de las horas son calculadas.
    • Esto no funciona para una duración de 24 horas o más.
    • Funciona al cambiar la última línea para var y = tempTime.hours() + ":" + tempTime.minutes();
    • Uso moment.duration(x).asMinutes() Esto también funciona para las 24 horas+
  2. 29

    Intente esto:

    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);
    • ¿Por qué necesita var mins = Math.floor(d.asMinutes()) - hours * 60; si usted simplemente podría utilizar var mins = d.minutes() ?
    • ¿qué acerca de segundos
    • que no estaba en la pregunta.
  3. 11

    Puede crear un Moment.js fecha de milisegundos mediante momento.(utc).

    var milliseconds = 1000;
    moment.utc(milliseconds).format('HH:mm');
    • Esto no funciona para períodos de más de 24 horas.
    • Esto es perfecto. Si desea > 24h, sólo tiene que añadir días o mostrar sólo unas horas. codepen.io/h3ll/pen/VQdGMy
  4. 6

    Hay una forma más fácil de lograr lo que desea.

    Este

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

    De salida será este

    00:00:01

    No es el más lujoso, lo sé, pero es 100% puro momento de js.

    editar: no funciona durante períodos de más de 24h

  5. 2

    Esto parece incompatible por este TAN. Siguiente este problema de github, hay un momento atrás plugin que usted puede ser capaz de utilizar.

    Pero parece que usted lo desea, puede Countdown.js para esto en primer lugar.

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

    Nota este no toma en cuenta los segundos intercalares, leap o algo relacionado con el tema, como se corrige a la época Unix (así que no es una pura intervalo de tiempo).

  6. 2

    Realmente no hay ninguna necesidad de utilizar el Momento para esta operación.

    Puede ser escrito en una sola línea:

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

    o como función:

    function millisecondsToHours(ms){
      return Math.round((ms / 1000 / 60 / 60) * 100) / 100;
    }
  7. -3

    No Momento de código

    var timeinmilli  = 433276000;
    var milliseconds = timeinmilli%1000;
    var seconds     = parseInt(timeinmilli=timeinmilli/1000)%60;
    var minutes     = parseInt(timeinmilli=timeinmilli/60)%60;
    var hours       = parseInt(timeinmilli=timeinmilli/60)%24;
    var days        =  parseInt(timeinmilli=timeinmilli/24);
    
    document.body.innerHTML = [days, hours, minutes, seconds, milliseconds].join(":");

Dejar respuesta

Please enter your comment!
Please enter your name here