Seconde altijd afronden met 2 cijfers achter de :

Gestart doorRobertt11 reacties12 weergaven

12 berichten · pagina 1 van 1

Robertt

Lid · Topicstarter

Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo,

Heb een script gemaakt die van secondes dus 207 bijv 3:00 maakt (Klopt niet hoor..)
Maar sommige krijg je dan 5:0 als ze niet genoeg seconde meer hebben.. hoe kan ik maken dat die dan een 0 erbij zet? EDIT: En bij sommige doet die 4:1 wat 4:01 moet zijn dus denk dat probleem is hij vergeet dus een 0..

function youtubetijd($youtubeid){
    $gdata = file_get_contents("http://gdata.youtube.com/feeds/api/videos/". $youtubeid. "");
    $expgdata = explode("duration=", $gdata);
    $expgdata2 = explode("", end($expgdata));
    $result = $expgdata2[0];
    $seconden = $result;
    $minuten             = floor($seconden / 60); 
    $resterende_seconden = $seconden % 60; 
    
    return $minuten.:.$resterende_seconden;
}


Alvast bedankt!
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Niet moeilijk doen:
echo gmdate("H:i:s", $seconden);


Trouwens, waarom sta je te exploden op een XML?
Is het niet handiger om SimpleXML toe te passen thumbsup?
0
Robertt

Lid · Topicstarter

Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Aarclay schreef:
Niet moeilijk doen:
echo gmdate("H:i:s", $seconden);
Trouwens, waarom sta je te exploden op een XML?
Is het niet handiger om SimpleXML toe te passen thumbsup?

XML pakte die niet lekker volgens mij maar zal er zo is naar kijken, dat van gmdate had al geprobeerd maar dan krijg je 02:00 en ik moet 2:00 krijgen.. anders gaat me systeem niet lekker werken..
0
Berichten
5.957
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dan zoek je welke letter je moet gebruiken om die 0en weg te doen.
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Alemaalte schreef:
Dan zoek je welke letter je moet gebruiken om die 0en weg te doen.
Hoofdletter S denk ik biggrin
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Als je bijvoorbeeld 184 seconde hebt.

184 / 60 = 3

184 % 60 = 4

dus dan krijg je 3:4

Je meot dus strpad($overigeSec, "0", 2, STR_PAD_LEFT); ofzo doen.

dan wordt van 4 gemaakt 04 en als je 40 hebt blijft hij gewoon 40
0
Robertt

Lid · Topicstarter

Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Rogier schreef:
Als je bijvoorbeeld 184 seconde hebt.

184 / 60 = 3

184 % 60 = 4

dus dan krijg je 3:4

Je meot dus strpad($overigeSec, "0", 2, STR_PAD_LEFT); ofzo doen.

dan wordt van 4 gemaakt 04 en als je 40 hebt blijft hij gewoon 40
Werkt niet?

public static function youtubetijd($youtubeid){
    $gdata = file_get_contents("http://gdata.youtube.com/feeds/api/videos/". $youtubeid. "");
    $expgdata = explode("duration=", $gdata);
    $expgdata2 = explode("", end($expgdata));
    $result = $expgdata2[0];
    $seconden = $result;
    $minuten             = floor($seconden / 60); 
    $resterende_seconden_a = $seconden % 60; 
    $resterende_seconden_b = strpad($resterende_seconde, "0", 2, STR_PAD_LEFT);
    return $minuten.:.$resterende_seconden_b;
}


Error: Fatal error: Call to undefined function strpad() in C:xampphtdocsdatafunctionscronjobs10gold.php on line 46
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Jaha, zoeken naar de juiste fuinctie op php.net is ook niet zo gek moeilijk.,

www.php.net/strpad, en je ziet welke functie je wel moet hebben.
Verder kan je met date() en de hoofdletter G het uur pakken, zonder de voorlopende 0
0
Robertt

Lid · Topicstarter

Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Aarclay schreef:
Jaha, zoeken naar de juiste fuinctie op php.net is ook niet zo gek moeilijk.,
www.php.net/strpad, en je ziet welke functie je wel moet hebben.
Verder kan je met date() en de hoofdletter G het uur pakken, zonder de voorlopende 0

Oja, sorry!
public static function youtubetijd($youtubeid){
$gdata = file_get_contents("http://gdata.youtube.com/feeds/api/videos/". $youtubeid. "");
$expgdata = explode("duration=", $gdata);
$expgdata2 = explode("", end($expgdata));
$result = $expgdata2[0];
$seconden = 120;
$minuten = floor($seconden / 60);
$resterende_seconden_a = $seconden % 60;
$resterende_seconden_b = str_pad($resterende_seconden_a, "0", 2, STR_PAD_LEFT);
return $minuten.:.$resterende_seconden_b;
}
Heb ik nu dan, maar bij 120 laat die nogsteets 2:0 zien inplaats van 2:00?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
waarom gebruik je nou geen gmdate? Voglens mij is dat de beste en snelste oplossing?
0
Robertt

Lid · Topicstarter

Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Aarclay schreef:
waarom gebruik je nou geen gmdate? Voglens mij is dat de beste en snelste oplossing?
echo gmdate("iconfused", 121)

Daar komt uit: 02:01 dat is goed maar moet ik dan met str_pad die eerste 0 weg halen?

probleem opgelost:

$tijd = gmdate("iconfused", 121);
if(substr($tijd, 0, 1) == 0) $tijd = substr($tijd, 1, strlen($tijd) - 1);
echo $tijd;
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Robertt schreef:
Eerdere citaten tonen
Aarclay schreef:
waarom gebruik je nou geen gmdate? Voglens mij is dat de beste en snelste oplossing?
echo gmdate("iconfused", 121)

Daar komt uit: 02:01 dat is goed maar moet ik dan met str_pad die eerste 0 weg halen?

probleem opgelost:

$tijd = gmdate("iconfused", 121);
if(substr($tijd, 0, 1) == 0) $tijd = substr($tijd, 1, strlen($tijd) - 1);
echo $tijd;
Moi toch, vreemd dat er geen minute without leading zero modifier is.,
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren