Anzahl der Sekunden in ISO-Format

JavaScriptJavaScriptBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir die formatSeconds-Funktion in JavaScript untersuchen. Diese Funktion gibt das ISO-Format für eine gegebene Anzahl von Sekunden zurück, indem sie die Sekunden in geeignete Werte für Stunden, Minuten und Sekunden aufteilt. Wir werden lernen, wie man Array.prototype.map(), Math.floor(), String.prototype.padStart() und Array.prototype.join() verwendet, um die Werte zu formatieren und zu einer Zeichenkette zu kombinieren. Am Ende dieses Labs werden Sie eine solide Vorstellung davon haben, wie man Zeitdaten in JavaScript manipulieren und formatieren kann.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/template_lit("Template Literals") subgraph Lab Skills javascript/variables -.-> lab-28318{{"Anzahl der Sekunden in ISO-Format"}} javascript/data_types -.-> lab-28318{{"Anzahl der Sekunden in ISO-Format"}} javascript/arith_ops -.-> lab-28318{{"Anzahl der Sekunden in ISO-Format"}} javascript/comp_ops -.-> lab-28318{{"Anzahl der Sekunden in ISO-Format"}} javascript/higher_funcs -.-> lab-28318{{"Anzahl der Sekunden in ISO-Format"}} javascript/template_lit -.-> lab-28318{{"Anzahl der Sekunden in ISO-Format"}} end

Funktion, um Sekunden als ISO-Zeit zu formatieren

Um diesen Code zu verwenden, öffnen Sie das Terminal/SSH und geben Sie node ein. Diese Funktion nimmt die Anzahl der Sekunden als Argument entgegen und gibt das ISO-Zeitenformat zurück. So funktioniert es:

  • Teilen Sie die Anzahl der Sekunden durch die entsprechenden Werte, um die entsprechenden Werte für Stunde, Minute und Sekunde zu erhalten.
  • Speichern Sie das Vorzeichen der Zahl in einer Variable, um es am Anfang des Ergebnisses anzuhaften.
  • Verwenden Sie Array.prototype.map() in Kombination mit Math.floor() und String.prototype.padStart(), um jedes Segment in eine Zeichenkette zu wandeln und zu formatieren.
  • Verwenden Sie Array.prototype.join(), um die Werte zu einer Zeichenkette zu kombinieren.

Hier ist der Code:

const formatSeconds = (s) => {
  const [hour, minute, second, sign] =
    s > 0
      ? [s / 3600, (s / 60) % 60, s % 60, ""]
      : [-s / 3600, (-s / 60) % 60, -s % 60, "-"];

  return (
    sign +
    [hour, minute, second]
      .map((v) => `${Math.floor(v)}`.padStart(2, "0"))
      .join(":")
  );
};

Sie können die Funktion mit diesen Beispielen testen:

formatSeconds(200); // '00:03:20'
formatSeconds(-200); // '-00:03:20'
formatSeconds(99999); // '27:46:39'

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Anzahl der Sekunden in ISO-Format" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.