דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. הוספת 0 בפורמט שעה ב- TS

הוספת 0 בפורמט שעה ב- TS

מתוזמן נעוץ נעול הועבר תכנות
3 פוסטים 2 כותבים 129 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • katzK מנותק
    katzK מנותק
    katz
    כתב ב נערך לאחרונה על ידי
    #1

    כתבתי קוד שממיר אלפיות שנייה לפורמט שעה רגילה כזה: 00:00:00
    אך אני צריך שבמקרה שהשעות/הדקות/השניות הם פחות מ-10 שיוסיף להם 0 בהתחלה.
    כעת אני מקבל לדוגמא: 0:1:22 במקום לקבל 00:01:22
    אז כתבתי את הקוד הזה.

     var seconds = Math.floor((ms / 1000) %60)
          var minutes = Math.floor((ms / (1000 * 60)) %60)
          var hours = Math.floor((ms / (1000 * 60 * 60)) %24)
          hours = (hours.toString().length == 1) ? parseInt(`0${hours}`) : hours
          minutes = (minutes.toString().length == 1) ? parseInt(`0${minutes}`) : minutes
          seconds = (seconds.toString().length == 1) ? parseInt(`0${seconds}`) : seconds
          console.log(hours+":"+minutes+":"+seconds);
    

    אך הוא לא עושה את העבודה (גם לא נותן שגיאה).
    ניסיתי גם כך, אך לא עוזר.

    var seconds = Math.floor((ms / 1000) %60)
          var minutes = Math.floor((ms / (1000 * 60)) %60)
          var hours = Math.floor((ms / (1000 * 60 * 60)) %24)
          hours = (hours < 10) ? Number(`0${hours}`) : hours
          minutes = (minutes < 10) ? Number(`0${minutes}`) : minutes
          seconds = (seconds < 10) ? Number(`0${seconds}`) : seconds
          console.log(hours+":"+minutes+":"+seconds);
    

    אשמח לעזרתכם.

    מערכת שעות עבודה, https://timess.co.il/
    בלוג הקוד שלי: https://yossef7525.github.io/

    מוטי אורןמ תגובה 1 תגובה אחרונה
    1
    • מוטי אורןמ מנותק
      מוטי אורןמ מנותק
      מוטי אורן
      השיב לkatz ב נערך לאחרונה על ידי מוטי אורן
      #2

      @katz זה עובד מצויין:

      
      class ParseMS {
          static toSeconds(ms) {
              return Math.floor((ms / 1000) % 60);
          }
          static toMinutes(ms) {
              return Math.floor((ms / (1000 * 60)) % 60);
          }
          static toHoures(ms) {
              return Math.floor((ms / (1000 * 60 * 60)) %24);
          }
          static ensureTimeLength(time) {
              return time.toString().length < 2 ? `0${time}` : `${time}`;
          }
          static getFullTime(ms) {
              let secondes = ParseMS.ensureTimeLength(ParseMS.toSeconds(ms)),
              minutes = ParseMS.ensureTimeLength(ParseMS.toMinutes(ms)),
              houres = ParseMS.ensureTimeLength(ParseMS.toHoures(ms));
              
              return `${houres}:${minutes}:${secondes}`;
          }
      }
      
      

      שים לב מה הבעיה בקוד שלך. גם parseInt וגם Number כשאתה נותן להם ארגומנט שהוא שני אפסים, הם יחזירו לך אפס בודד. מהסיבה שלא קיים מספר שמכיל שני אפסים בלבד.

      katzK תגובה 1 תגובה אחרונה
      4
      • katzK מנותק
        katzK מנותק
        katz
        השיב למוטי אורן ב נערך לאחרונה על ידי
        #3

        @מוטי-אורן אמר בהוספת 0 בפורמט שעה ב- TS:

        שים לב מה הבעיה בקוד שלך. גם parseInt וגם Number כשאתה נותן להם ארגומנט שהוא שני אפסים, הם יחזירו לך אפס בודד. מהסיבה שלא קיים מספר שמכיל שני אפסים בלבד.

        אכן זה היה הפספוס שלי, תודה עכשיו עובד!

        מערכת שעות עבודה, https://timess.co.il/
        בלוג הקוד שלי: https://yossef7525.github.io/

        תגובה 1 תגובה אחרונה
        2

        בא תתחבר לדף היומי!
        • התחברות

        • אין לך חשבון עדיין? הרשמה

        • התחברו או הירשמו כדי לחפש.
        • פוסט ראשון
          פוסט אחרון
        0
        • דף הבית
        • קטגוריות
        • פוסטים אחרונים
        • משתמשים
        • חיפוש
        • חוקי הפורום