JavaScript Datumsanzeige Zweistellig
- #2251830 - 09.06.2011, 23:43:47
|
Grain
Nicht registriert
|
Liebe eifrigen Programmierer,  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 <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>·</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 ![grins :-]](/images/graemlins/default/grin.gif)
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
|
Registriert: 15.09.2010
Beiträge: 1.673
|
<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>·</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
else if (Monat <10 && Tag >= 10)
document.write(
"<b>Datum:</b> "+ Tag + "." + praefix + Monat + "." + Jahr + "<b>·</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
else if (Monat <10 && Tag <10)
document.write(
"<b>Datum:</b> "+ praefix + Tag + "." + praefix + Monat + "." + Jahr + "<b>·</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
else
document.write(
"<b>Datum:</b> "+ Tag + "." + Monat + "." + Jahr + "<b>·</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
|
~ United ~
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
|
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. <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>·</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
else if (Monat <10 && Tag >= 10)
document.write(
"<b>Datum:</b> "+ Tag + "." + praefix + Monat + "." + Jahr + "<b>·</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
else if (Monat <10 && Tag <10)
document.write(
"<b>Datum:</b> "+ praefix + Tag + "." + praefix + Monat + "." + Jahr + "<b>·</b><b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr"
);
else
document.write(
"<b>Datum:</b> "+ Tag + "." + Monat + "." + Jahr + "<b>·</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
|
~ United ~
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
|
~ United ~
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:
<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>·</b> <b>Uhrzeit:</b> " + Stunden + ":" + Minuten + " Uhr");
</script>
Oder eben besser so, wenn das tut, was es eigentl sollte ^^
<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>·</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
|
Entfernung: 1 km
Registriert: 02.07.2003
Beiträge: 1.463
Ort: Hannover
|
Vermutlich so: Stunden = ((Stunden < 10) ? "0" + Stunden : Stunden); Ich hoffe, alternative Vorschläge sind auch willkommen. Ein wenig generischer gehts so: /* 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 + " · 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]
|
|