2015-11-12 2 views
0

В настоящее время у меня есть кусок кода, который получает время в формате hhmm (например, 1254), все, что я делаю, работает нормально, кроме 10 минут каждый час, когда минута имеет 0 раньше Это. например:AS3 date time remove 0 for mins

at 1:54 pm my code traces 1354 
at 3:20 pm my code traces 1520 

проблема

at 1:05 pm my code traces 135 
at 2:09 pm my code traces 149 

я могу видеть, Что происходит с междунар Извлечение 0, но это должно быть в Int делать расчеты дальше издалека, может кто-нибудь увидеть что-нибудь очевидное?

var td: Date = new(Date); 
    trace(td); 
    var formattedDate = dateToMMDDYYYY(td); 
    //Hours... 
    var tHrs: int = td.hours; 

    var tHs: String = "" 
    if (tHrs < 10) { 
     tHs = "0" + String(tHrs); 
    } else { 
     tHs = String(tHrs); 
    } 
    //Minutes... 

    var tMins: int = 04; 
     ////////////////////////////////////////////////////////Manually setting to 04 mins for testing 

    var tMs: String = "" 

    if (tMins < 10) { 
     tMs = "0" + String(tMins); 
    } else { 
     tMs = String(tMins); 
    } 
+0

Ваш код выглядит хорошо (кроме этой строки: 'var formattedDate = dateToMMDDYYYY (td);', я не знаю, для чего это возможно, может быть, это функция, которая имеет следующий код?). Например, здесь было: 15:09, и я получил 1509 ... – akmozo

+0

Кроме того, не забудьте использовать переменную 'tMs', а не' tMins' в следующем коде ... – akmozo

+0

Вы уверены, что используете переменная tMs, а не tMins для вашей трассировки, righ t? ;) Поскольку сценарий выглядит совершенно нормально – Philarmon

ответ

0

Если вам нужно 0 перед целым числом, вы должны использовать строку. Его можно легко отливать в число, когда оно вам нужно для расчетов. I.e .: int ("01") = 1;