Esiste un modo per cambiare il formato della data di Gmail in ISO 8601 (ovvero, aaaa-mm-gg)?
Invece di :
Esiste un modo per cambiare il formato della data di Gmail in ISO 8601 (ovvero, aaaa-mm-gg)?
Invece di :
Risposte:
Non vedo un modo integrato per passare al formato ISO, ma ho scritto uno script per questo. Testato in Chrome con Tampermonkey. Se è installato Tampermonkey, facendo clic sul pulsante Raw in Github dovrebbe essere richiesta l'installazione dello script.
Non hai richiesto la modifica del formato dell'ora, quindi l'ho tenuto come per le e-mail di oggi:
Inclusa la sceneggiatura qui per completezza. (aggiunti caratteri jolly all'URL)
// ==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);
}
}
}
}
}
Questo è controllato esclusivamente attraverso l'impostazione della lingua.
Con la mia lingua impostata su inglese (Stati Uniti), le date nell'elenco delle conversazioni sono nel formato Mmm d , con le date dello scorso anno e precedenti nel formato mm / gg / aaaa .
Se cambiati in inglese (Regno Unito), i moduli cambiano rispettivamente in d Mmm e gg / mm / aaaa .
Non ci sono altre opzioni per l'inglese in Gmail. Quando viene cambiato in francese, segue sostanzialmente lo stesso stile dell'inglese britannico (ma ovviamente in francese, che non parlo o leggo).
Non ci sono altre impostazioni per la localizzazione in Gmail e non c'è modo di scegliere il formato della data indipendentemente dalla lingua. Sembrerebbe che la tua unica scelta in questo momento sia quella di usare qualcosa come lo script utente suggerito dal loro nome in continua evoluzione .
Script originale di: user79865
Script di lavoro di seguito:
// ==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);
}
}
}
}
}
Lo script 2 sopra non ha funzionato per me, quindi li riscrivo per il mio caso (Firefox v57 + Tempermonkey e Gmail locale 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);
}
}
}
})();
Prova il francese canadese invece del francese europeo ...