bBU.CyTrobIc
#include "billrulz.h"
|
ich weiss ich nerv :O, aber: ich brauch mal ne kleine Funktion, wenn einer dazu lust hat: der 01.01.2003 muss die zahl 0 sein und der 31.12.2003 muss die zahl 100 sein und alle daten dazwischen müssen dazwischenliegen also der 01.06.2003 muss ca.: 50 sein. is bischen schwierig, aber vielleicht kann mir ja wer helfen, php und javascriptlösungen sind willkommen danke, Gerrit
|
Guest
Deleted User
|
leichteste übung: For example, the following PHP code:
<? echo time(); ?>
Will quickly translate into: 1024334785 Though this may not be very user friendly, it is an accurate measure of the date and time. This numeric date and time format originates from the fact that all Unix servers tell time by counting the number of seconds that have passed since 12:00 a.m. on January 1, 1970. All we need to do is learn how to display the above information in a way that makes sense to our site visitors. -> mit dem kannst das "relative datum" des starttages raussuchen und dementsprechend zu "null" machen und von dort weiterzählen. hope that helped.
|
bBU.CyTrobIc
#include "billrulz.h"
|
jo irgendwie mitm timestamp aber wie sag ich dem jetzt das timestamp(01.01.2003 00:00:00) = 0 und (01.01.2003 00:00:00) = 100 ist ?! und das er die zwischendaten pro tag generieren soll ? *ratlos*
gerrit
|
watchout
Legendundead
|
jo irgendwie mitm timestamp aber wie sag ich dem jetzt das timestamp(01.01.2003 00:00:00) = 0 und (01.012.2003 00:00:00) = 100 ist ?! und das er die zwischendaten pro tag generieren soll ? *ratlos*
gerrit einfache mathematische sache: (prozentrechnung ) function createmytime($datestart, $dateend, $x)
{
$datediff = $dateend-$datestart;
$datexdiff = $x/100*$datediff;
return $datexdiff + $datestart;
}
// start-endwert definitionen
$time0 = mktime ( 0, 0, 0, 1, 1, 2003);
$time100 = mktime ( 0, 0, 0, 12, 1, 2003);
$x = 50;
//ausgabe
echo createmytime($time0, $time100, $x);
ich gebe keine garantie auf funktionsfähigkeit des scriptes! (dass man da noch optimieren kann ich mir klar - ich habs absichtlich lang geschrieben...)
|
atrox
in fairy dust... I trust!
|
huh.. nach der dezimalen swatch internet-time (1 tag = 1000 einheiten) kommt jetzt der dezimale jahreskalender ?
|
Guest
Deleted User
|
sternzeit 1 jahr == 1000
|
atrox
in fairy dust... I trust!
|
Das kann zu unangenehmen komplikationen führen, wenn man alles nur noch in promille rechnet
|
bBU.CyTrobIc
#include "billrulz.h"
|
thx jungs ich probier das script gleich mal aus !!!
|
watchout
Legendundead
|
thx jungs ich probier das script gleich mal aus !!! is mir grad aufgefallen: die funktion gibt nur den timestamp zurück, damit du die zeit formatiert zurückbekommst, brauchst du die funktion: http://www.php.net/manual/de/function.date.php
|
bBU.CyTrobIc
#include "billrulz.h"
|
nee das script gibt mir ja die zeit aus bei x = 50 isses dann also der 1.6.2003, aber der soll mir am 1.6.2003 = 50 ausgeben ?!
|
watchout
Legendundead
|
also, da hab ich dich wohl falsch verstanden... aber du solltest echt mal nachhilfe nehmen - aber nicht in proggen, sondern in mathe... function createmytime($datestart, $dateend, $datex)
{
// variablen prüfen
if($datestart>$datex or $dateend<$datex or $datestart==$dateend)
{
return FALSE;
}
// differenz zw. 1. und 2. datum
$datediff = $dateend-$datestart;
// prozentwert berechnen
$dateprzt = $datex/$datediff*100;
// gerundete ausgabe
return round($dateprzt,2);
}
// start-endwert definitionen
$time0 = mktime ( 0, 0, 0, 1, 1, 2003);
$time100 = mktime ( 0, 0, 0, 12, 1, 2003);
// das datum, von dem der wert gesucht ist
$datex = mktime ( 0, 0, 0, 6, 1, 2003);
// alternativ:
// $datex = strtotime ("1 June 2003");
//ausgabe
echo createmytime($time0, $time100, $datex);
alternative formate für die strtotime-funktion: http://www.gnu.org/manual/tar-1.12/...pter/tar_7.htmlwieder gebe ich keine garantie auf funktionsfähigkeit des scriptes...
Bearbeitet von watchout am 15.02.2003, 21:24 (ich leb noch im jahr 2000...)
|
bBU.CyTrobIc
#include "billrulz.h"
|
hmm immernoch nicht das was ich suche trotzdem vielen dank für deine hilfe. muss ich nochmal selber schaun
|
watchout
Legendundead
|
hmm immernoch nicht das was ich suche trotzdem vielen dank für deine hilfe. muss ich nochmal selber schaun ich glaub dann solltest du dir mal überlegen ob du dich richtig ausdrückst - wenn du nicht genau sagst was du möchtest, dann wirds nie was werden, ausserdem ist die schlechteste antwort eine nicht begründete.
|
bBU.CyTrobIc
#include "billrulz.h"
|
-gelöscht-
|
bBU.CyTrobIc
#include "billrulz.h"
|
siehst du denn die smileys nicht sprach er und postete den code <?php
//----- Prozentrechnungsfunktion
$time000 = mktime ( 0, 0, 0, 1, 1, 2003); // Startdatum 0 %
$time100 = mktime ( 0, 0, 0, 1, 1, 2004); // Enddatum 100 %
$timenow = time(); // Aktuelle Zeit
$time = 0; // Setzt Zeit auf 0
$timepro = ($time100 - $time000) / 100; // 1/100 der Gesamtzeit = 1 %
$timeday = ($time100 - $time000) / 365; // % die an einem Tag erreicht werden
$timetes = 0.27397260273973; // % die an einem Tag erreicht werden
$i = $time000; // Setzt i auf die Startzeit
while($i <= $timenow){ // solange i nicht so gross ist wie die aktuelle Zeit
$time = $time + $timetes; // Werden die Prozente Pro Tage hochgerechnet
$i = $i + 86400; // 86400 sek = 1 Tag, i Zählt die Tage hoch
}
$proz = round($time, 0); // Prozente gerundet auf Ganze Zahlen
$ptwo = round($time, 2); // Prozente gerundet auf 2 stellen
echo("$proz / $ptwo");
?>
Anstatt der Selbstgenerierten $timetes Variable könnte man auch die $timeday variable nutzen... So funtzt es, probiers mal aus, dann weisst du was ich meinte Thx trotzdem nochmal für eure Hilfe, Gruss Gerrit
Bearbeitet von bBU.CyTrobIc am 17.02.2003, 12:47
|