Có thể truy vấn thư Gmail bằng dấu thời gian không?


13

Có thể tìm kiếm tất cả các thư trong phạm vi chi tiết hơn so với ngày không?

Chẳng hạn, tôi có thể tìm kiếm tất cả các tin nhắn trò chuyện từ 3 giờ chiều đến 5 giờ chiều ngày 4 tháng 10 không? Làm thế nào mà nhìn?

Nhìn vào tài liệu tham khảo tìm kiếm nâng cao của Gmail, tôi nhận thấy rằng họ đề cập đến thời gian cụ thể, nhưng không chỉ định định dạng, rất có thể nó không được hỗ trợ, nhưng tôi nghĩ tôi sẽ kiểm tra chỉ trong trường hợp tôi chỉ đơn giản nhập sai các định dạng .. .

Ví dụ: sau: 2004/04/16 trước: 2004/04/18

Ý nghĩa: Tin nhắn được gửi từ ngày 16 tháng 4 năm 2004 đến ngày 18 tháng 4 năm 2004. *

* Chính xác hơn: Tin nhắn được gửi sau 12:00 AM (hoặc 00:00) ngày 16 tháng 4 năm 2004 và trước ngày 18 tháng 4 năm 2004.

Câu trả lời:


10

Thời gian cụ thể được đề cập trong tài liệu để chỉ ra rằng toán tử "sau" đã bao gồm ngày đã cho, trong khi toán tử "trước" không bao gồm ngày. Không có cách nào để sử dụng hộp tìm kiếm trên một khoảng thời gian cụ thể hơn.

Nếu bạn đang sử dụng Tập lệnh Google Apps, bạn có thể thực hiện tìm kiếm của mình bằng những ngày tốt nhất bạn có. Sau đó, bạn có thể lọc các chuỗi kết quả dựa trên Thời gian và các tiêu chí khác. Thí dụ:

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
  }
}

LƯU Ý: Toán tử "sau" đã bao gồm ngày đã cho, trong khi toán tử "trước" không bao gồm ngày !!
Habeeb Perwad

Xin chào Pyrodogg, tôi có thể tham gia với nhãn sử dụng không? GmailApp.search
Pathic

Nếu tôi hiểu chính xác câu hỏi của bạn, có, bạn cũng có thể sử dụng nhãn trong tiêu chí tìm kiếm. Ví dụ. "sau: 2019/01/01 trước: 2019/02/01 nhãn: mua hàng". Nếu tôi không hiểu câu hỏi của bạn, xin vui lòng cho tôi biết.
Pyrodogg

8

Có thể chỉ định phạm vi thời gian với độ chính xác đến một giây, bởi vì các toán tử tìm kiếm sau:, trước:, mới hơn:, cũ hơn: chấp nhận dấu thời gian Unix . Sử dụng một công cụ như Epoch Converter , bạn có thể tìm ra rằng

  • 2014-10-04 lúc 15:00 (ví dụ sử dụng GMT) có dấu thời gian 1412434800
  • Thêm hai giờ (7200 giây) hoặc sử dụng lại cùng một công cụ: 1412442000

Tìm kiếm after:1412434800 before:1412442000sẽ trả về các tin nhắn trong phạm vi 2 giờ này.

Kể từ khi chuyển đổi sang thời gian Unix trông giống như một việc vặt, tôi đã tạo ra một bookmarklet để thay thế này.

Ví dụ: sau khi gõ

sau: 2015/07/26 10:00 trước: 2015/07/27 11:30

trong hộp tìm kiếm (không hoạt động như hiện tại), hãy gọi bookmarklet và chuỗi sẽ được thay thế bằng

sau: 1437919200 trước: 1438011000

(Bookmarklet diễn giải các dấu thời gian đã cho trong giờ địa phương của bạn.)

Trang tôi liên kết có cả nguồn và liên kết có thể kéo được với bookmarklet. Để đầy đủ, mã nguồn cũng được đăng dưới đây.

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;
  } 
}

Có vẻ như nó after:UNIXTIMESTAMPkhông hoạt động đúng ...
Kunok

@Kunok dường như làm việc với tôi. bạn có thể vui lòng giải thích?
nakhli

1
@nakhli Ugh..đây là cũ. Nhưng theo như tôi nhớ thì tôi nghĩ rằng tôi đã cho nó quá nhiều ký tự int làm đầu vào. Tôi nghĩ rằng tôi đã phải loại bỏ 3 chữ số cuối hoặc một cái gì đó tương tự. Phần nào câu trả lời trên đây có đề cập, ví dụ lưu ý trong câu trả lời, nó có 10 ký tự, trong khi Date.now()sẽ trả về 13 ký tự. Một cái gì đó như thế. Tôi đã sửa nó và kịch bản hoạt động kể từ đó, nó vẫn chạy 0-24 trong 12 tháng qua và có thể sẽ chạy trong một thời gian rất dài. Cảm ơn. : P
Kunok

13 ký tự vì nó trả về mili giây
Shiplu Mokaddim
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.