Du bist nicht angemeldet. [Anmelden]
Optionen
Thema bewerten
JavaScript Datumsanzeige Zweistellig - #2251830 - 09.06.2011, 23:43:47
Grain
Nicht registriert


Liebe eifrigen Programmierer, :-D

Nun habe ich hier einen simplen JavaScript Code der mir das Datum und die Uhrzeit ausgibt, jedoch möchte ich das dass Datum zweistellig, sprich mit nullen vorgegeben wird.

Beispiel:

09.06.2011 und nicht wie jetzt
9.6.2011

Code:
            <script type='text/javascript'> 
            var Datum = new Date();
            var Tag = Datum.getDate();
            var Monat = Datum.getMonth() + 1;
            var Jahr = Datum.getFullYear();
            var Stunden = Datum.getHours();
            var Minuten = Datum.getMinutes();
            if (Minuten <10)
            {
            Minuten= "0" + String(Minuten);
            }
            document.write("<b>Datum:</b> "+ Tag + "." + Monat + "." + Jahr + " <b>&middot;</b> <b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr");
            </script>


Wenn da wer weiterhelfen könnte wäre das nett.

Ich vergaß zu erwähnen, das ich es [b][nicht/b] mit PHP machen möchte.

Grain :-]


Bearbeitet von Grain (09.06.2011, 23:47:23)
Bearbeitungsgrund: PHP

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: ] - #2251843 - 10.06.2011, 00:08:22
sarcasm

Registriert: 15.09.2010
Beiträge: 1.673
Warnung! Spoiler!
Html:
          <script type='text/javascript'> 
            var Datum = new Date();
            var Tag = Datum.getDate();
            var Monat = Datum.getMonth() + 1;
            var Jahr = Datum.getFullYear();
            var Stunden = Datum.getHours();
            var Minuten = Datum.getMinutes();
            int praefix = 0;
            if (Minuten <10)
            {
            Minuten= "0" + String(Minuten);
            }
            if (Tag <10 && Monat >=10)

            document.write(
"<b>Datum:</b> "+ praefix + Tag + "." + Monat + "." + Jahr + "<b>&middot;</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
            else if (Monat <10 && Tag >= 10)

            document.write(
"<b>Datum:</b> "+ Tag + "." + praefix + Monat + "." + Jahr + "<b>&middot;</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
            else if (Monat <10 && Tag <10)

            document.write(
"<b>Datum:</b> "+ praefix + Tag + "." + praefix + Monat + "." + Jahr + "<b>&middot;</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
            else

            document.write(
"<b>Datum:</b> "+ Tag + "." + Monat + "." + Jahr + "<b>&middot;</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
            </script>

Ist ungetestet, sollte aber klappen.


Gruß
_________________________
And without you is how I disappear.

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: sarcasm] - #2251844 - 10.06.2011, 00:14:17
Grain
Nicht registriert


Der Script zeigt leider gar nichts an. Auch wenn ich es mit body onload machen würde, was ich nicht möchte.

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: ] - #2251845 - 10.06.2011, 00:20:06
UnknownSubject
~ Uni​ted ~​

Registriert: 04.06.2008
Beiträge: 1.471
Ort: Schwabenland
Und was spricht dagegen, das wie bei den Minuten zu machen?

if(Tag < 10) {
Tag = "0"+ Tag;
}

if(Monat < 10) ... usw

Theoretisch sollte auch das in JavaScript gehn, müsste man testen..

Tag = (Tag < 10 ? "0" + Tag : Tag);

selbiges bei Monat.


//

4x eine gleiche Textausgabe... macht den Code nur unnötig lang. Oder überseh ich hier irgendeinen Haken, das das ganze so kompliziert sein müsste? o0


Bearbeitet von UnknownSubject (10.06.2011, 00:25:44)
_________________________
Es gibt genau 10 Arten von Menschen. Die, die binär verstehen, und die, die es nicht verstehen.

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: sarcasm] - #2251846 - 10.06.2011, 00:20:09
sarcasm

Registriert: 15.09.2010
Beiträge: 1.673
Entschuldige, ich habe eine Kleinigkeit vergessen. Folgendes ist falsch: "int praefix = 0;". Stattdessen muss es "var praefix = 0;" sein.
Warnung! Spoiler!
Html:
          <script type='text/javascript'> 
            var Datum = new Date();
            var Tag = Datum.getDate();
            var Monat = Datum.getMonth() + 1;
            var Jahr = Datum.getFullYear();
            var Stunden = Datum.getHours();
            var Minuten = Datum.getMinutes();
            var praefix = 0;
            if (Minuten <10)
            {
            Minuten= "0" + String(Minuten);
            }
            if (Tag <10 && Monat >=10)

            document.write(
"<b>Datum:</b> "+ praefix + Tag + "." + Monat + "." + Jahr + "<b>&middot;</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
            else if (Monat <10 && Tag >= 10)

            document.write(
"<b>Datum:</b> "+ Tag + "." + praefix + Monat + "." + Jahr + "<b>&middot;</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
            else if (Monat <10 && Tag <10)

            document.write(
"<b>Datum:</b> "+ praefix + Tag + "." + praefix + Monat + "." + Jahr + "<b>&middot;</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
            else

            document.write(
"<b>Datum:</b> "+ Tag + "." + Monat + "." + Jahr + "<b>&middot;</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
            </script>

Ist nun auch getestet und hat bei mir funktioniert.


Gruß
_________________________
And without you is how I disappear.

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: sarcasm] - #2251849 - 10.06.2011, 00:27:40
UnknownSubject
~ Uni​ted ~​

Registriert: 04.06.2008
Beiträge: 1.471
Ort: Schwabenland
Dumme 6 Minuten......

Müsste oben wenn dann

Tag = ((Tag < 10) ? "0" + Tag : Tag);

so sein.
_________________________
Es gibt genau 10 Arten von Menschen. Die, die binär verstehen, und die, die es nicht verstehen.

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: UnknownSubject] - #2251852 - 10.06.2011, 00:33:49
Grain
Nicht registriert


Könntest du mir das vielleicht nochmals als kompletten Script machen?

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: ] - #2251853 - 10.06.2011, 00:38:58
UnknownSubject
~ Uni​ted ~​

Registriert: 04.06.2008
Beiträge: 1.471
Ort: Schwabenland
Na, bei den Minuten hast Du das Prinzip mit der "0" vorne dran doch schon angewendet..

Entweder mal so testen:
Code:
<script type='text/javascript'> 
            var Datum = new Date();
            var Tag = Datum.getDate();
            var Monat = Datum.getMonth() + 1;
            var Jahr = Datum.getFullYear();
            var Stunden = Datum.getHours();
            var Minuten = Datum.getMinutes();
            if (Minuten < 10){
                Minuten= "0" + Minuten;
            }
            if (Tag < 10){
                Tag = "0" + Tag;
            }
            if (Monat < 10){
                Monat = "0" + Monat;
            }
            document.write("<b>Datum:</b> "+ Tag + "." + Monat + "." + Jahr + " <b>&middot;</b> <b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr");
            </script>


Oder eben besser so, wenn das tut, was es eigentl sollte ^^


Code:
<script type='text/javascript'> 
            var Datum = new Date();
            var Tag = Datum.getDate();
            var Monat = Datum.getMonth() + 1;
            var Jahr = Datum.getFullYear();
            var Stunden = Datum.getHours();
            var Minuten = Datum.getMinutes();
            Minuten = ((Minuten < 10) ? "0" + Minuten : Minuten);
            Tag = ((Tag < 10) ? "0" + Tag : Tag);
            Monat = ((Monat < 10) ? "0" + Mona t: Monat);
            document.write("<b>Datum:</b> "+ Tag + "." + Monat + "." + Jahr + " <b>&middot;</b> <b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr");
            </script>




Zur Erklärung:

Minuten = ((Minuten < 10) ? "0" + Minuten : Minuten);

Minuten = [Wenn Minuten < 10, dann "0" + Minuten : ansonsten die zweistelligen Minuten]


Bearbeitet von UnknownSubject (10.06.2011, 00:41:37)
_________________________
Es gibt genau 10 Arten von Menschen. Die, die binär verstehen, und die, die es nicht verstehen.

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: UnknownSubject] - #2251855 - 10.06.2011, 00:44:49
Grain
Nicht registriert


Klappt wunderbar. Danke an euch beide.

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: ] - #2251864 - 10.06.2011, 00:49:46
Grain
Nicht registriert


Jetzt wo ich es gerade sehe. Bei den Stunden geht das da auch mit der Null?
Jetzt wird nämlich gerade 0:49 angezeigt und nicht 00:49 Uhr.


Bearbeitet von Grain (10.06.2011, 00:53:54)

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: ] - #2251867 - 10.06.2011, 00:54:50
Grain
Nicht registriert


Hat sich soebend erledigt habe es selbst hinbekommen.

[zum Seitenanfang]  
Re: JavaScript Datumsanzeige Zweistellig [Re: ] - #2251887 - 10.06.2011, 01:38:39
redorange
​Entfernung: 1 km

Registriert: 02.07.2003
Beiträge: 1.463
Ort: Hannover
Vermutlich so:
Code:
Stunden = ((Stunden < 10) ? "0" + Stunden : Stunden);


Ich hoffe, alternative Vorschläge sind auch willkommen. Ein wenig generischer gehts so:

Code:
/* Gibt das aktuelle Datum aus (Format: "dd.MM.yyyy HH:mm"). */
function today() {
	var today = new Date();
	var pre = 0;
	var days = prefix(today.getDate(), pre, 2);
	var months = prefix(today.getMonth() + 1, pre, 2);
	var years = prefix(today.getFullYear(), pre, 4);
	var hours = prefix(today.getHours(), pre, 2);
	var minutes = prefix(today.getMinutes(), pre, 2);
	return "Datum: ".bold() + days + "." + months + "." + years + " &middot; Uhrzeit: ".bold() + hours + ":" + minutes + " Uhr";
}

/* Setzt so lange "filler" vor "input", bis dieser "length" Zeichen erreicht. */
function prefix(input, filler, length) {
	var output = input.toString();
	var x = filler.toString();
	while (output.length < length)
		output = x + output;
	return output;
}

Na ja, JavaScript stinkt. :x
_________________________
Knuddelige Grüße
redorange

[zum Seitenanfang]