Чи можна запитувати повідомлення Gmail за допомогою часової позначки?


13

Чи можна шукати всі повідомлення Gmail у межах, більш детальних, ніж за день?

Наприклад, чи можу я шукати всі повідомлення в чаті з 15:00 до 17:00 4 жовтня? Як би це виглядало?

Переглядаючи посилання на розширений пошук Gmail, я помітив, що вони згадують конкретні часи, але не вказують формат, швидше за все, він не підтримується, але я подумав, що я перевірю на випадок, якщо я просто вводив пошук у неправильному форматі .. .

Приклад: після: 2004/04/16 до: 2004/04/18

Значення: Повідомлення, надіслані між 16 квітня 2004 р. Та 18 квітня 2004 р. *

* Точніше: повідомлення, надіслані після 12:00 (або 00:00) 16 квітня 2004 року та до 18 квітня 2004 року.

Відповіді:


10

Конкретні часи згадуються в документації, щоб показати, що оператор "після" включає включену дату, тоді як оператор "до" не враховує дату. Немає можливості використовувати вікно пошуку у більш конкретному часовому діапазоні.

Якщо ви використовуєте Сценарії Google Apps, ви можете здійснити пошук, використовуючи найкращі дати. Потім ви можете відфільтрувати отримані нитки на основі часу та інших критеріїв. Приклад:

var threads = GmailApp.search("after:2014/09/01 before:2014/09/02",0,100);
var timeFrom = new Date("2014/09/01 10:00:00").getTime();
var timeTo = new Date("2014/09/01 13:00:00").getTime();

for (var i = 0; i < threads.length; i++){
  var timeThreadStart = threads[i].getFirstMessageDate().getTime();

  if(timeThreadStart > timeFrom && timeThreadStart < timeTo){
    //do something
  }
}

ПРИМІТКА: Оператор "після" включає дату, в той час як оператор "до" не враховує дату !!
Хабіб Первад

Привіт Pyrodogg, чи можу я приєднатись до ярлика використання? GmailApp.search
Pathic

Якщо я правильно розумію ваше запитання, так, ви можете використовувати мітки також у критеріях пошуку. Вих. "після: 2019/01/01 до: 2019/02/01 ярлик: покупки". Якщо я не зрозумів ваше запитання, будь ласка, дайте мені знати.
Піродогг

8

Можна вказати діапазон часу з точністю до секунди, тому що пошукові оператори після:, перед:, новіше:, старше: приймають часові позначки Unix . Використовуючи такий інструмент, як Epoch Converter , ви можете це дізнатись

  • 2014-10-04 о 15:00 (наприклад, за допомогою GMT) має мітку 1412434800
  • Додайте дві години (7200 секунд) або знову використовуйте той же інструмент: 1412442000

Пошук за допомогою after:1412434800 before:1412442000поверне повідомлення в межах 2-годинного діапазону.

Оскільки перехід на час Unix виглядає як справа, я зробив закладку, яка робить цю заміну на місці.

Наприклад, після набору тексту

після: 2015/07/26 10:00 до: 2015/07/27 11:30

у вікні пошуку (який би не працював так, як є), викликайте закладку, і рядок буде замінено на

після: 1437919200 до: 1438011000

(Закладка інтерпретує задані часові позначки у ваш місцевий час.)

Сторінка, на яку я пов’язана, має як джерело, так і перетягується посилання з закладкою. Для повноти вихідний код також розміщується нижче.

inp = document.querySelectorAll('input');
for (i in inp) {
  if (/(after|before|newer|older):/.test(inp[i].value)) {
    str = inp[i].value;
    times = str.match(/\d[\d\/: ]*\d/g);
    for (j in times) {
      if (Date.parse(times[j])) {
        str = str.replace(times[j], Date.parse(times[j])/1000);
      }
    }
    inp[i].value = str;
  } 
}

Здається, що after:UNIXTIMESTAMPпрацює не правильно ...
Кунок

@Kunok, здається, працює на мене. Ви можете, будь ласка, докладно?
нахлі

1
@nakhli Ugh..це старий. Але наскільки я пам’ятаю, я думаю, що я дав це занадто багато int символів як вхідних даних. Я думаю, що мені довелося видалити останні три цифри чи щось подібне. Приблизно, як ця відповідь згадується вище, зауважте приклад у відповіді, вона має 10 символів, тоді як Date.now()повертає 13 символів. Щось схоже. Я виправив це, і сценарій працює з тих пір, він все ще працює 0-24 протягом останніх 12 місяців, і, ймовірно, буде працювати дуже довго. Спасибі. : P
Кунок

13 символів, тому що він повертає мілісекунди
Shiplu Mokaddim,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.