php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.09.2005, 14:53  
winfo_cologne
Gast
 
Beiträge: n/a
Standard Sek. und Min. korrekt verrechnen -> JS-Funktion??

Hallo liebe Leute!

Ich habe zwei Uhrzeiten (uhrzeitA und uhrzeitB), die jeweils aus drei Komponenten zusammengesetzt sind (stundeA,minuteA,sekundeA;stundeB,minuteB,sekundeB ). Außerdem habe ich noch drei Felder für das Ergebnis (stundeERGENIS,minuteERGEBNIS,sekundeERGEBNIS).

Es geht hier um Subtraktion. Ich möchte, dass die "Komponenten" von uhrzeitB von uhrzeitA korrekt subtrahiert werden, also Uebertraege sollen beruecksichtigt weden, will also keine negativen Zahlen oder Werte bei Sek/Min > 60 als Ergebnis.

Das Subtrahieren klappt mit folgendem schematischem Code, aber eben mit den o.g. Problemen. Wer weiß Bescheid und hilft mir weiter?

Code:
<form ... name="uhrzeit">

	<input type="text" name="stundeA" value="" ... />
	<input type="text" name="minuteA" value="" ... />
	<input type="text" name="sekundeA" value="" ... />
	
	<input onkeyup="this.form.stundeERGEBNIS.value = this.form.stundeA.value - this.value" type="text" name="stundeB" ... />
	<input onkeyup="this.form.minuteERGEBNIS.value = this.form.minuteA.value - this.value" type="text" name="minuteB" ... />
	<input onkeyup="this.form.sekundeERGEBNIS.value = this.form.sekundeA.value - this.value" type="text" name="sekundeB" ... />
	
	<input type="text" name="stundeERGEBNIS" value="" ... />
	<input type="text" name="minuteERGEBNIS" value="" ... />
	<input type="text" name="sekundeERGEBNIS" value="" ... />

</form>
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.09.2005, 15:51  
Gast
 
Beiträge: n/a
Standard

a ) erst mit Date() in korrektes format umwandeln
b ) subtraktion ausführen
c ) wieder in gewünschtes format setzen
  Mit Zitat antworten
Alt 14.09.2005, 16:01  
winfo_cologne
Gast
 
Beiträge: n/a
Standard

jau, gute idee!

aber: wie mache ich das mit der konvertierung nach date()?

Wäre das hier ein guter Anfang?

Code:
<script language=JavaScript> 

var uhrzeitA = new Date(); 
var uhrzeitB = new Date(); 
   
function umrechnen() 
{ 
	window.document.form.stundeA.value = uhrzeitA.setHours()
	window.document.form.minuteA.value = uhrzeitA.setMinutes()
	window.document.form.sekundeA.value = uhrzeitA.setSeconds()
	
	window.document.form.stundeB.value = uhrzeitB.setHours()
	window.document.form.minuteB.value = uhrzeitB.setMinutes()
	window.document.form.sekundeB.value = uhrzeitB.setSeconds()
} 
   
</script>
  Mit Zitat antworten
Alt 15.09.2005, 00:36  
XLB
Erfahrener Benutzer
 
Registriert seit: 31.07.2005
Beiträge: 1.126
PHP-Kenntnisse:
Fortgeschritten
XLB
Standard

Hmm...

Würde die einzelnen Zeitdaten komplett in Sekunden umrechnen, die Sekunden-Zeiten subtrahieren und das Resultat wieder in Stunden, Minuten, Sekunden "zurückrechnen" - wäre IMHO wohl am simpelsten ... (?)
XLB ist offline   Mit Zitat antworten
Alt 15.09.2005, 01:08  
Gast
 
Beiträge: n/a
Standard

@ XLB

mit Date Object bekommt man die sec.
( dies ist auch was ich damit gemeint hab )
  Mit Zitat antworten
Alt 15.09.2005, 09:13  
winfo_cologne
Gast
 
Beiträge: n/a
Standard

Morgen zusammen!

@XLB: dass das "zu Fuß" (also ohne Date()-Objekt) einfacher ist, dachte ich mir auch, deswegen verfolge ich parallel diesen Ansatz

@J33d3X: wenn ich wüsste WIE, dann wäre das ein sehr schöner Ansatz. Leider habbich 0 Ahnung von JavaScript. Weiß noch nichtmal, wie man mitten in einem HTML-Skript eine JS-Funktion aufruft... Eine Funktion deklariert man ja am Anfang (?)

Also, ich habe es jetzt soweit, dass die einzelnen Zeit-Komponenten in Sekunden umgerechnet werden und dann auch subtrahiert wird. Aber: wie "splitte" ich die Sekunden wieder in h,min,sec?

Habe mir folgendes gedacht: wenn es eine Rechenart gäbe, die quasi "dividiert ohne Nachkommastellen und den 'Rest' auswirft", dann hätte man schon mal die Stunden und könnte den Rest mit 60 multiplizieren und hätte die Minuten.

Bitte Senf dazugeben!
  Mit Zitat antworten
Alt 15.09.2005, 09:32  
winfo_cologne
Gast
 
Beiträge: n/a
Standard

Boing! :P Habe ein "passendes" Skript gefunden! Allerdings ist das ein Java-Prog, oder täusche ich mich?

Könnte mir jemand dabei helfen, dass so umzubauen, dass ich es in eine HTML-Seite einbetten kann, und mir vielleicht auch sagen, wie ich die Funktion dann in meiner HTML-Seite anspreche? Das wäre super nett!

Code:
#include <windows.h>
#include <iostream>

using namespace std;

int main()
{
int sekunden_gesamt = 23456;
int s = 1, m = 60, h = 3600;
int rest, stunden, minuten, sekunden;

char szZeit[12];

stunden = sekunden_gesamt / h;
rest = sekunden_gesamt - (stunden * h);

minuten = rest / m;
rest = rest - (minuten * m);

sekunden = rest / s;

wsprintf(szZeit, "[%02d:%02d:%02d]", stunden, minuten, sekunden);

        cout<< szZeit;

        cin.get();
return 0;
}
  Mit Zitat antworten
Alt 15.09.2005, 09:39  
XLB
Erfahrener Benutzer
 
Registriert seit: 31.07.2005
Beiträge: 1.126
PHP-Kenntnisse:
Fortgeschritten
XLB
Standard

Mein "Senf" (ohne Date())

Code:
<script type="text/javascript">

		function Zero(TElement)
		{

			return (TElement<10) ? '0'+String(TElement) : String(TElement);

		}

		function CalcDiff()
		{

			with (document.FCalcT)
			{

				SecT1=(parseInt(T1H.value)*60*60)+(parseInt(T1M.value)*60)+parseInt(T1S.value);
				SecT2=(parseInt(T2H.value)*60*60)+(parseInt(T2M.value)*60)+parseInt(T2S.value);

				if (SecT2<SecT1)
				{

					alert('Zeitangeben nicht korrekt ...');

				}
				else
				{

					SecRes=SecT2-SecT1;

					TRS.value=Zero(parseInt(SecRes % 60));
					TRM.value=Zero(parseInt((SecRes/60) % 60));
					TRH.value=Zero(parseInt((SecRes/60/60)));

				}

			}

		}

	</script>

	<form name="FCalcT">

		Zeit 1

		<input name="T1H" size="2" value="" maxlength="2">:<input name="T1M" size="2" value="" maxlength="2">:<input name="T1S" size="2"value=""  maxlength="2">

		


		Zeit 2

		<input name="T2H" size="2" value="" maxlength="2">:<input name="T2M" size="2" value="" maxlength="2">:<input name="T2S" size="2" value="" maxlength="2">

		



		<input type="button" value="Differenz" onClick="CalcDiff()">

		



		Differenz

		<input name="TRH" size="2" value="00">:<input name="TRM" size="2" value="00">:<input name="TRS" size="2" value="00">

	</form>
Date() könnte man natürlich auch verwursteln. Halte diese Lösung aber "eigentlich" für weniger "bastelintensiv".

Bei SelfHTML gibt's ein passendes Beispiel zu Date():

http://de.selfhtml.org/javascript/objekte/date.htm

-> "Date: Allgemeines zur Verwendung" -> Beispiel: -> Anzeigebeispiel: So sieht's aus
XLB ist offline   Mit Zitat antworten
Alt 15.09.2005, 12:25  
Gast
 
Beiträge: n/a
Standard

na dann ein bsp. mit Date
Code:
<script type="text/javascript">

var uhrzeitA = new Date();
var uhrzeitB = new Date(); 

if(!Date.diff) {
  Date.prototype.diff = function() {
    alert(Date.parse(String(uhrzeitA))-Date.parse(String(uhrzeitB)));
  }
}

var objDate = new Date();
objDate.diff();
</script>

edit://
das ist das grundgerüst
  Mit Zitat antworten
Alt 15.09.2005, 12:28  
winfo_cologne
Gast
 
Beiträge: n/a
Standard

Cool, danke!
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
variable in funktion JanM PHP Tipps 2006 2 23.07.2006 20:06
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
[Erledigt] IF Funktion auf einen Button. Funktion wird trotzdem ausgef. HTML, Usability und Barrierefreiheit 3 04.08.2005 14:57
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sek in min, sec in minuten, min in sek, sek in minuten, min sek, php sec in minuten, sek min, javascript sekunden abziehen, min und sek, sek. in min., umrechnung uhrzeit minmin:seksek, wie erkläre ich meinem kind sekunden in stunden und minuten umrechnen, min zu sek, sec zu minuten, js umrechnung min zu uhrzeit, php uhrzeiten subtrahieren, java klasse subtraktion zeit h min sec, php function min javascript, uhrzeit mit sek subtrahieren, php function sekunde abziehen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:24 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.