• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Lokale Uhrzeit

Platin07

Neues Mitglied
Hallo und einen guten Tag,
Ich habe einem Problem und weil ich nicht genug Erfahrung habe, bitte ich euch das ihr mir helft.
Habe eine WordPress Web Seite über Fußball. Jeden Tag teile ich bestimmte Fußball spiele die Anstoß-Uhrzeit
Aber, da ich sehr viele internationale Nutzer habe, möchte ich, dass jeder Nutzer die Anstoß-Uhrzeit seines eigenen Landes automatisch umstellt.
z.b
18.00 FC Bayern - Schalke 04 Uhrzeit Deutschland
17:00 FC Bayern - Schalke 04 Uhrzeit England
20:00 FC Bayern - Schalke 04 Uhrzeit Türkei
04:00 FC Bayern - Schalke 04 Uhrzeit Japan
u.s.w
Wie kann ich es so einstellen, das jeder Nutzer die gleichen spiele aber in ihre eigene lokale Anstoßzeit
der spiele automatisch eingefügt bekommt.

Ich würde mich auf eine Antwort b.z.w helfe sehr bedanken.
 
Wie kann ich es so einstellen, das jeder Nutzer die gleichen spiele aber in ihre eigene lokale Anstoßzeit
der spiele automatisch eingefügt bekommt.
Wenn du das Datum mit Javascript ausgibst wird standardmäßig die lokale Zeitzone verwendet.
Code:
new Date('2025-01-20T16:30:45Z').toLocaleString('de-DE');
// ergibt "20.1.2025, 17:30:45"
Du musst Javascript den Zeitpunkt zusammen mit der verwendeten Zeitzone an Javascript übergeben (das »Z« hier bedeutet »UTC«), wie das ausgegebene Datum genau aussieht kannst du über den zweiten Parameter von toLocaleString() beeinflussen.

Vergiss aber nicht das Datum serverseitig in einem definierten Format (z.B. ME(S)Z oder UTC) auszugeben und beim Client die Angabe dann per Javascript in die lokale Zeitzone umzurechnen - sonst sieht der Benutzer überhaupt keinen Zeitpunkt wenn Javascript nicht verfügbar ist. Mit einem time-Element kannst du das Datum gleich passend für Javascript aufbereitet in den Quelltext schreiben und musst nur noch den Inhalt aller time-Elemente entsprechend konvertieren.
 
Vielen Dank für die Antwort. Nur habe ich nichts verstanden :). Bin leider nur ein Anfänger und muss noch viel lernen. Weist jemand, ob es ein WordPress-Plugin gibt, das mir helfen kann. Notfalls würde ich es auch kaufen. Hauptsache ich könnte es auf meiner Webseite leicht und bequem benutzen.
 
Vielen Dank für die Antwort. Nur habe ich nichts verstanden :). Bin leider nur ein Anfänger und muss noch viel lernen. Weist jemand, ob es ein WordPress-Plugin gibt, das mir helfen kann. Notfalls würde ich es auch kaufen. Hauptsache ich könnte es auf meiner Webseite leicht und bequem benutzen.
Dann bist du hier falsch: hier geht es darum sowas selbst zu programmieren, nicht darum irgendwelche Plugins zu finden. Mit Wordpress werden dir hier eher nur wenige helfen können, in einem Wordpress-Forum kann dir vermutlich jemand sagen ob es ein entsprechendes Plugin gibt, hier eher nicht.
 
Wie kann ich es so einstellen, das jeder Nutzer die gleichen spiele aber in ihre eigene lokale Anstoßzeit
der spiele automatisch eingefügt bekommt.
Das erreichst du indem Du als ersten Parameter für toLocaleTimeString undefined übergibst:
The runtime's default locale is used when undefined is passed
Demo:
Code:
<!DOCTYPE html>
<html lang="de">

<head>
    <title>Local Time</title>
</head>

<body>
<div id="local-time"></div>
<script>
    const
        tim = new Date('2025-01-20T16:30:45Z'),
        localTimeStr = tim.toLocaleString();
        document.getElementById('local-time').textContent = localTimeStr;
</script>
</body>

</html>
Wie nimmst Du denn die Zeiten auf? Ich vermute von Hand. Und sind das nur Spiele in Deutschland?
 
Wie nimmst Du denn die Zeiten auf? Ich vermute von Hand. Und sind das nur Spiele in Deutschland?
Vorerst möchte ich allen die mir Geantwortet haben mich bedanken.
Gans genau, ich schreibe jeden Tag bestimmte spiele per hand und ich teile nicht nur die spiele aus Deutschland, allgemein die top 5 liegen von Europa aber auch andre liegen wie z. B. Türkei–Portugal–Amerika u.s.w.

Das ist meine Art wie ich es teile, wie kann ich die Anstoßzeit anpassen, dass es jeder von der lokalen Zeit sehen kann?
HTML:
<table border="1" width="600px">
<thead>
<tr>
<th style="text-align: center;" colspan="3"><strong>TUESDAY 21ST JANUARY 2025 SCHEDULE TIME UK GMT+1</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>18:45</td>
<td> UEFA CHAMPİONS LEAGUE ATALANTA VS STURM GRAZ</td>
</tr>
<tr>
<td>18:45</td>
<td> UEFA CHAMPİONS LEAGUE MONACO VS ASTON VİLLA</td>
</tr>
</tbody>
</table>
 
Zuletzt bearbeitet:
wie kann ich die Anstoßzeit anpassen, dass es jeder von der lokalen Zeit sehen kann?
Wie schon in Posting #7 beschrieben, macht Javascript das automatisch, wenn Du beim Aufruf von toLocaleTimeString den ersten Parameter weg lässt.
Ich empfehle, die Zeiten in data-Attributen fest zu legen. Du kannst dann entweder ein "Z" für die Zeitzone nehmen oder den Offset. Siehe hier:

Hier eine Demo:
Code:
<!DOCTYPE HTML>
<html lang="en">

<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,height=device-height,initial-scale=1">
    <title>Local Time</title>
</head>

<body>
    <table border="1" width="600px">
        <thead>
            <tr>
                <th style="text-align: center;" colspan="2"><strong>TUESDAY 21ST JANUARY 2025 SCHEDULE TIME UK
                        GMT+1</strong></th>
            </tr>
        </thead>
        <tbody>
            <!-- Wir legen die Anstoßzeit als data-Attribut der ersten Zelle einer Zeile fest: -->
            <tr>
                <td data-time="2025-01-21T17:45:00Z">18:45</td>
                <td> UEFA CHAMPİONS LEAGUE ATALANTA VS STURM GRAZ</td>
            </tr>
            <tr>
                <td data-time="2025-01-21T18:45:00+1:00">18:45</td>
                <td> UEFA CHAMPİONS LEAGUE MONACO VS ASTON VİLLA</td>
            </tr>
        </tbody>
    </table>
    <script>
        // Schleife über die Zellen der ersten Spalte in der Tabelle:
        document.querySelectorAll('table tbody tr td:first-of-type').forEach(cell => {
            const
                // Zeitstring im ISO-Format aus dem data-Attribut auslesen:
                ISOTimeStr = cell.dataset.time,
                // Datums-Objekt ermitteln:
                tim = new Date(UTCTimeStr),
                // Lokalen Zeitstring bereit stellen:
                localTimeStr = tim.toLocaleTimeString();
            // Und in die Tabellenzelle eintragen:
            cell.textContent = localTimeStr;
        });
    </script>
</body>

</html>
Sekunden kann man möglicher Weise noch entfernen. Und die Kopfzeile habe ich erst Mal außen vor gelassen.
Falls Du einen Freund in einer anderen Zeitzone hast, kannst Du ihn bitten, zu prüfen, ob die richtige Zeit dort angezeigt wird.
 
<script>
// Schleife über die Zellen der ersten Spalte in der Tabelle:
document.querySelectorAll('table tbody tr td:first-of-type').forEach(cell => {
const
// Zeitstring im ISO-Format aus dem data-Attribut auslesen:
ISOTimeStr = cell.dataset.time,
// Datums-Objekt ermitteln:
tim = new Date(UTCTimeStr),
// Lokalen Zeitstring bereit stellen:
localTimeStr = tim.toLocaleTimeString();
// Und in die Tabellenzelle eintragen:
cell.textContent = localTimeStr;
});
</script>
Bekomme diesen Fehler SyntaxError: Unexpected token '
Wollte noch erwähnen, dass ich in der Türkei lebe. Möchte gerne die türkische Anstoßzeit eintragen.
z. B. Türkei Anstoßzeit 23.00 Uhr. Die M.E.Z Zeit ist ja von England, oder?
 
Zuletzt bearbeitet:
Hm, ich habe meinen Code noch Mal aus dem Forum in eine zweite Testdatei kopiert und er läuft einwandfrei. Hast Du den Code wirklich unverändert übernommen?

Möchte gerne die türkische Anstoßzeit eintragen.
Wie schon zwei Mal geschrieben macht Javascript das automatisch, es gibt die Zeit in der lokalen Zeitzone und im lokalen Format aus:
The toLocaleTimeString() method of Date instances returns a string with a language-sensitive representation of the time portion of this date in the local timezone.
Wenn Du in der Türkei lebst, kannst Du es selbst testen. Bei mir wird die Zeit mit 18:45:00 ausgegeben. Bei dir müssten es 20:45:00 sein.
 
Zurück
Oben