Sollte mal umgestellt werden. Verwirrt ein wenig wenn da heute schon "gestern" steht.Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Aktuelle Zeit hier im Forum
Aktuelle Zeit hier im Forum
Barcodes for PureBasic - http://micha122.bplaced.net/
Re: Aktuelle Zeit hier im Forum
Einstellung musst du selber ändern: Persönlicher Bereich > Einstellungen > Persönliche Einstellungen > Derzeit ist Sommerzeit: > Nein
Re: Aktuelle Zeit hier im Forum
Ich lese hier immer als "Gast". Da habe ich keinen persönlichen Bereich.RSBasic hat geschrieben:Einstellung musst du selber ändern: Persönlicher Bereich > Einstellungen > Persönliche Einstellungen > Derzeit ist Sommerzeit: > Nein
Gruß
Barcodes for PureBasic - http://micha122.bplaced.net/
Re: Aktuelle Zeit hier im Forum
Die Einstellung für Gäste muss ein Admin anpassen. An den Forum-Einstellungen wird aber so gut wie nie etwas geändert.
Mein erster Gedanke war ein Script für Greasemonkey, das die Datum/Zeit anpasst.
Und da ich noch nie ein Script dafür geschrieben habe, hatte ich gerade Lust drauf
Code als Datei "Time_Corrector_for_Pure-Board.user.js" speichern und in Greasemonkey einfügen:
Mein erster Gedanke war ein Script für Greasemonkey, das die Datum/Zeit anpasst.
Und da ich noch nie ein Script dafür geschrieben habe, hatte ich gerade Lust drauf
Code als Datei "Time_Corrector_for_Pure-Board.user.js" speichern und in Greasemonkey einfügen:
Code: Alles auswählen
// ==UserScript==
// @name Date/Time Corrector for Pure-Board
// @namespace http://www.mybits-home.de
// @description Korrektiert die Datum/Zeit-Angaben im Pure-Board.
// @include http://www.purebasic.fr/german/*
// @include http://purebasic.fr/german/*
// @version 2.0.0
// @grant none
// ==/UserScript==
// ----------------------------------------
// Korrigierte Datum/Zeit wird mit Sternchen-Zeichen am Ende gekennzeichnet
// ----------------------------------------
// Setzt eine Null vor die Zahl, wenn diese nur einstellig ist
function formatDate(day, month, year, hours, minutes) {
if (day < 10) day = '0' + day;
if (month < 10) month = '0' + month;
if (hours < 10) hours = '0' + hours;
if (minutes < 10) minutes = '0' + minutes;
switch (hours) {
case '0-2':
return day + '\.' + month + '\.' + year; // für Regulärer Ausdruck
break;
case '0-1':
return day + '.' + month + '.' + year;
break;
default:
return day + '.' + month + '.' + year + ' ' + hours + ':' + minutes;
}
}
// Reguläre Ausdrücke definieren
var regex_date_time = /(\d{2})\.(\d{2})\.(\d{4}) (\d{2}):(\d{2})/;
var regex_today_yesterday_time = /(Gestern|Heute) (\d+):(\d{2})/;
// Datum/Uhrzeit vom Forum ermitteln und zerlegen
var datetext = document.getElementsByTagName('td')[7].firstChild.nodeValue.replace(/Aktuelle Zeit: /, '');
var Result = regex_date_time.exec(datetext);
var day = Result[1];
var month = Result[2];
var year = Result[3];
var hours = Result[4];
var minutes = Result[5];
// Abweichung Forum-Datum/Zeit <> Aktuell-Datum/Zeit berechnen
var now_date = new Date();
var forum_date = new Date(year, month-1, day, hours, minutes, now_date.getSeconds());
var offset = now_date.getTime() - forum_date.getTime();
// Regläre Ausdrücke für Datum von heute und gestern definieren (aktuelles Datum)
var today_date_regexp = new RegExp(formatDate(now_date.getDate(), now_date.getMonth()+1, now_date.getFullYear(), -2, -2));
var temp_date = new Date(now_date.getTime() - 1000*60*60*24);
var yesterday_date_regexp = new RegExp(formatDate(temp_date.getDate(), temp_date.getMonth()+1, temp_date.getFullYear(), -2, -2));
// Datum/Zeit evtl. korrigieren
if (offset != 0) {
// Aktuelles Forum-Datum/Uhrzeit korrigieren
document.getElementsByTagName('td')[7].firstChild.nodeValue = 'Aktuelle Zeit: ' +
formatDate(now_date.getDate(), now_date.getMonth()+1, now_date.getFullYear(), now_date.getHours(), now_date.getMinutes()) + '*';
// Datum/Uhrzeit bei den Beträgen korrigieren
var items = document.getElementsByTagName('*');
for (var i = 0; i < items.length; i++) {
var item_value = '';
switch (items[i].nodeName) {
case 'P': // Datum/Uhrzeit der letzten Beiträge in der Threads-Übersicht auslesen
if (items[i].firstChild.nodeType != 3) continue; // Nur Textknoten
item_value = items[i].firstChild.nodeValue;
break;
case 'DIV': // Datum/Uhrzeit bei den Beiträgen auslesen
if (items[i].lastChild.nodeType != 3) continue; // Nur Textknoten
item_value = items[i].lastChild.nodeValue;
}
// "Heute" und "Gestern" zu Datumangaben ersetzen
Result = regex_today_yesterday_time.exec(item_value);
if (Result != null) {
switch (Result[1]) {
case 'Gestern':
temp_date = new Date(forum_date.getTime() - 1000*60*60*24);
item_value = item_value.replace(/Gestern/, formatDate(temp_date.getDate(), temp_date.getMonth()+1, temp_date.getFullYear(), -1, -1));
break;
case 'Heute':
item_value = item_value.replace(/Heute/, formatDate(forum_date.getDate(), forum_date.getMonth()+1, forum_date.getFullYear(), -1, -1));
}
}
// Nur bei gültigem Datum-Format weitermachen
Result = regex_date_time.exec(item_value);
if (Result == null) continue;
day = Result[1];
month = Result[2];
year = Result[3];
hours = Result[4];
minutes = Result[5];
// Datum/Zeit um die Abweichung korrigieren
var post_date = new Date(year, month-1, day, hours, minutes, now_date.getSeconds());
post_date.setTime(post_date.getTime() + offset);
item_value = formatDate(post_date.getDate(), post_date.getMonth()+1, post_date.getFullYear(), post_date.getHours(), post_date.getMinutes());
// Datum für heute und gestern wieder zu "Heute" und "Gestern" ersetzen
item_value = item_value.replace(today_date_regexp, 'Heute');
item_value = item_value.replace(yesterday_date_regexp, 'Gestern');
switch (items[i].nodeName) {
case 'P': // Datum/Uhrzeit der letzten Beiträge in der Threads-Übersicht korrigieren
items[i].firstChild.nodeValue = item_value + '*';
break;
case 'DIV': // Datum/Uhrzeit bei den Beiträgen korrigieren
items[i].lastChild.nodeValue = ' ' + item_value + '* ';
}
}
}
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version