2012-04-02 4 views
2

YouTube API로 작업 중이며 동영상의 현재 시간이 초 단위로 표시됩니다. 내가 원하는 것은 다음과 같이 변환하는 것입니다. MM : SSActionscript 3에서 초와 분, 초로 변환

나는 Google을 시도해 보았지만 혼자 다른 것을 시도했지만 아무 것도 효과가 없었습니다.

내가 어떻게하면 좋고 효율적인 방법으로 미리 감사 할 수 있는지 보니 기쁩니다! 같은

+3

당신은 60으로 나누는 방법을 알아낼 수 없습니다 내게 말하고있다? –

+0

var timeString : String = ""+ Math.floor (youtubetime/60) + ":"+ youtubetime % 60; –

+1

@The_asMan 네, 이걸 가지고 있습니다.하지만 제가 말했듯이 MM : SS의 결과를 얻고 싶습니다. 솔루션에서, 1 : 2, 01:02이되기를 원합니다. 새로운 이것에 도착하는 방법을 모르겠다. – Radicate

답변

6

뭔가 :

var formattedTime = 
    (Math.floor(seconds/60)) + ":" + // minutes 
    (seconds % 60 >= 10 ? "": "0") + // padding for seconds if needed 
    (seconds % 60));     // seconds 
+1

((수학월 : 초/60)) + ":"+ (초 % 60> = "0") + (seconds % 60)) – emrahgunduz

+0

@emrahgunduz - 감사합니다. 실제로 '10'은 시간 고정/추가 주석의 형식을 잘못 지정했습니다. –

0

뭔가 쉽게 조금 주위에 당신의 머리를 얻기 위해 읽을 수는 :

var seconds:int = 200; 
var minutes:int = 0; 

while(seconds >= 60) 
{ 
    seconds -= 60; 
    minutes ++; 
} 

trace(minutes, seconds); 

자리, 부분과 같이 수행 할 수 있습니다

var secStr:String = String(seconds); 
var minStr:String = String(minutes); 

secStr = (secStr.length == 1) ? "0" + secStr : secStr; 
minStr = (minStr.length == 1) ? "0" + minStr : minStr; 

trace(minStr + ":" + secStr); 
1

여기는 내가 필요한 것을 위해 항상 사용하는 작은 수업입니다. 또한 초 단위로 시간 코드를 추가했습니다. 간단히 Timecodes.secondsToTimecode(634);처럼 사용하는 것이다 출력 00:10:34

package com.ronnieswietek.utils 
{ 
    public class Timecodes 
    { 
     public function Timecodes() 
     { 
     } 

     public static function timecodeToSeconds(tcStr:String):Number 
     { 
      var t:Array = tcStr.split(":"); 
      return (t[0] * 3600 + t[1] * 60 + t[2] * 1); 
     } 

     public static function secondsToTimecode(seconds:Number):String 
     { 
      var minutes:Number   = Math.floor(seconds/60); 
      var remainingSec:Number  = seconds % 60; 
      var remainingMinutes:Number = minutes % 60; 
      var hours:Number   = Math.floor(minutes/60); 
      var floatSeconds:Number  = Math.floor((remainingSec - Math.floor(remainingSec))*100); 
      remainingSec    = Math.floor(remainingSec); 

      return getTwoDigits(hours) + ":" + getTwoDigits(remainingMinutes) + ":" + getTwoDigits(remainingSec); 
     } 

     private static function getTwoDigits(number:Number):String 
     { 
      if (number < 10) 
      { 
       return "0" + number; 
      } 
      else 
      { 
       return number + ""; 
      } 
     } 
    } 
} 
1
var timeStr:String; 
//Video's length >= 1 hour 
if(seconds >= 60*60){ 
    //Format-> H:MM:SS 
    timeStr = (""+Math.floor(seconds/(60*60))) + //Hours 
       ":"+ 
       ("0"+Math.floor((seconds%(60*60))/60)).substr(-2)+ //Minutes     
       ":"+ 
       ("0"+(seconds%60)).substr(-2);   //Seconds 
}else{ 
    //Format-> MM:SS 
    timeStr = ("0"+Math.floor(seconds/60)).substr(-2)+ //Minutes 
       ":"+ 
       ("0"+(seconds%60)).substr(-2);   //Seconds 
} 
관련 문제