Ändern Sie das Google Mail-Datumsformat in ISO 8601 (dh JJJJ-MM-TT).


Antworten:


9

Ich sehe keine eingebaute Möglichkeit, zum ISO-Format zu wechseln, aber ich habe ein User-Skript dafür geschrieben. Getestet in Chrome mit Tampermonkey. Wenn Tampermonkey installiert ist, sollte das Klicken auf die Raw-Schaltfläche in Github zur Skriptinstallation auffordern.

Sie haben nicht darum gebeten, das Zeitformat zu ändern. Deshalb habe ich es für die heutigen E-Mails beibehalten:

Termine

Einschließlich Skript hier der Vollständigkeit halber. (Platzhalter zur URL hinzugefügt)

// ==UserScript==
// @name         ISO date format in Gmail
// @namespace    https://github.com/normalhuman/
// @version      16.2.1
// @description  Change Gmail date format to ISO 8601, per http://webapps.stackexchange.com/q/89499
// @author       Normal Human
// @match        http*://mail.google.com/mail/u/0/*
// @grant        none
// @run-at       document-idle
// ==/UserScript==
/* jshint -W097 */
'use strict';

window.setInterval(toISO, 500);

function toISO() {
  var rows = document.getElementsByTagName('tr');
  for (var i = 0; i < rows.length; i++) {
    var rowElements = rows[i].children;
    if (rowElements.length == 8) {
      var timestamp = rowElements[7].firstElementChild;
      if (!/:/.test(timestamp.textContent)) {
        var parts = timestamp.title.split(/, | | at /);
        if (parts.length == 7) {
          var month = 1 + ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'].indexOf(parts[1]);
          timestamp.textContent = parts[3] + '-' + ('0' + month).slice(-2) + '-' + ('0' + parts[2]).slice(-2);
        }
      }
    }
  }
}

Beachten Sie, dass Sie Google Mail-Sprache im Menü "Einstellungen" / "Allgemein" auf "Englisch (USA)" einstellen müssen, damit diese Version des Skripts funktioniert (Stand: 25.10.2017). Es funktioniert nicht mit "Englisch (UK)".
Wip

10

Dies wird ausschließlich über die Spracheinstellung gesteuert.

Wenn meine Sprache auf Englisch (USA) eingestellt ist, haben die Daten in der Konversationsliste die Form Mmm d , wobei die Daten für letztes Jahr und früher die Form mm / tt / jjjj haben .

Bei einer Änderung in Englisch (Vereinigtes Königreich) ändern sich die Formen in d Mmm und dd / mm / yyyy .

In Google Mail gibt es keine weiteren Optionen für Englisch. Wenn es auf Französisch geändert wird, folgt es im Grunde dem gleichen Stil wie britisches Englisch (aber offensichtlich auf Französisch, das ich weder spreche noch lese).

Es gibt keine andere Einstellung für die Lokalisierung in Google Mail und keine Möglichkeit, das Datumsformat unabhängig von der Sprache auszuwählen. Es scheint, dass Ihre einzige Wahl zu diesem Zeitpunkt darin besteht, so etwas wie das von denjenigen, die ihren Namen ständig ändern, vorgeschlagene Benutzer-Skript zu verwenden .


Seit der Änderung der Benutzeroberfläche von Mitte 2018 sind für Nur-Zahlen-Daten jetzt TT.MM.JJJ in Englisch (USA), TT.MM.JJJJ in Englisch (Großbritannien) und Français sowie TT.MM.JJJ in Français (USA) verfügbar. Kanada). Dies sind in der Tat nicht ISO 8601.
Mathieu K.

1

Original-Skript von: user79865

  1. @Match durch @include ersetzt, um die Kompatibilität mit Opera + Violentmonkey zu verbessern.
  2. Das Intervall wurde auf 1 Sekunde erhöht.
  3. Feste Zeitanzeige von 12 bis 24 Stunden, jedoch aus diplomatischen Gründen AM / PM :)

Arbeitsskript unten:

// ==UserScript==
// @name         ISO date format in Gmail
// @namespace    https://github.com/normalhuman/
// @version      16.2.2
// @description  Change Gmail date format to ISO 8601, per /webapps//q/89499
// @author       Normal Human
// @include      http*://mail.google.com/mail/u/0/*
// @grant        none
// @run-at       document-idle
// ==/UserScript==
/* jshint -W097 */
'use strict';

window.setInterval(toISO, 1000);

function toISO() {
  var rows = document.getElementsByTagName('tr');
  for (var i = 0; i < rows.length; i++) {
    var rowElements = rows[i].children;
    if (rowElements.length == 8) {
      var timestamp = rowElements[7].firstElementChild;
      var parts = timestamp.title.split(/, | | at /);
      if (parts.length == 7) {
        if (/:/.test(timestamp.textContent)) {
          var time = parts[5].split(':');
          time[0] = parseInt(time[0],10);
          if (/[Aa][Mm]/.test(parts[6])) {
            if (time[0] == 12) {
              time[0] = 0;
            }
          }
          if (/[Pp][Mm]/.test(parts[6])) {
            time[0] = time[0] + 12;
            if (time[0] == 24) {
              time[0] = 0;
            }
          }
          timestamp.textContent = ('0' + time[0]).slice(-2) + ':' + time[1] + ' (' + parts[6] + ')';
        } else {
          var month = 1 + ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'].indexOf(parts[1]);
          timestamp.textContent = parts[3] + '-' + ('0' + month).slice(-2) + '-' + ('0' + parts[2]).slice(-2);
        }
      }
    }
  }
}

0

Das obige Skript 2 hat bei mir nicht sofort funktioniert, daher habe ich es für meinen Fall umgeschrieben (Firefox v57 + Tempermonkey und Gmail-Gebietsschema en-UK).

// ==UserScript==
// @name         ISO Date for Gmail
// @namespace    http://rabin.io/
// @version      0.1
// @description  Change Gmail date format to ISO 8601, per /webapps//q/89499
// @author       Rabin
// @match        https://mail.google.com/mail/u/*
// @grant        none
// @run-at       document-idle
// ==/UserScript==

(function() {
    'use strict';


    window.setInterval(toISO, 1000);

    function toISO() {

        var rows = document.getElementsByClassName('xW');
        for (var i = 0; i < rows.length; i++) {

            var timestamp = rows[i].firstElementChild.title.split(/, | | at /);

            if (timestamp.length == 5) {
                var d = new Date(timestamp[1] + " " + timestamp[0] + " " + timestamp[2] + " " + timestamp[4]);
                var x = rows[i].firstChild;
                //x.textContent = d.toISOString();
                x.textContent = d.getFullYear() + '-' + ('0' + (d.getMonth()+1)).slice(-2) + '-' + ('0' + d.getDate()).slice(-2);
            }

        }
    }

})();

-2

Probieren Sie kanadisches statt europäisches Französisch ...


Bei Datumsangaben, die nur Zahlen enthalten, gibt Français ab der Änderung der Benutzeroberfläche Mitte 2018 TT / MM / JJJJ und Français (Kanada) TT-JJ-MM an. Keines davon ist ISO 8601, beide sind nicht eindeutig, und das letztere ergibt so hässliche und mysteriöse Konstruktionen wie 08-08-19 und 13-03-10.
Mathieu K.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.