是否可以通过时间戳查询Gmail邮件?


13

是否可以在比当天更精细的范围内搜索所有Gmail邮件?

例如,我可以搜索10月4日下午3点到下午5点之间的所有聊天消息吗?看起来怎么样?

在查看Gmail高级搜索参考时,我注意到他们提到了特定时间,但未指定格式,很可能不支持该格式,但是我想我会检查一下,以防万一我只是以错误的格式输入搜索。 。

范例: after:2004/04/16 before:2004/04/18

含义: 2004年4月16日至2004年4月18日之间发送的邮件。*

*更准确地说: 2004年4月16日12:00 AM(或00:00)之后和2004年4月18日之前发送的消息。

Answers:


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

注意:“之后”运算符不包括给出的日期,而“之前”运算符不包括给出的日期!
Habeeb Perwad

嗨Pyrodogg,我可以加入使用标签吗?GmailApp.search
病态的

如果我正确理解您的问题,是的,您也可以在搜索条件中使用标签。例如 “之后:2019/01/01之前:2019/02/01标签:购买”。如果我不明白您的问题,请告诉我。
Pyrodogg

8

可以指定精确到一秒的时间范围,因为搜索运算符after:,before:,newer:,origate:接受Unix timestamps。使用Epoch Converter之类的工具,您可以发现

  • 2014-10-04 at 15:00(例如,使用GMT)具有时间戳1412434800
  • 添加两个小时(7200秒),或再次使用相同的工具:1412442000

搜索after:1412434800 before:1412442000将返回此2小时范围内的消息。

由于转换为Unix时间看起来很麻烦,因此我制作了一个bookmarklet,以进行适当的替换。

例如,输入后

之后: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

@Kunok似乎对我有用。你能详细说明一下吗?
nakhli

1
@nakhli Ugh ..这是旧的。但是据我所记得,我认为我给了它太多的int字符作为输入。我想我必须删除最后3个数字或类似的数字。上面这个答案提到的内容,在答案示例中,它有10个字符,而Date.now()会返回13个字符。这样的东西。我修复了该脚本,此后脚本一直有效,在过去的12个月中它仍在0-24上运行,并且可能会运行很长时间。谢谢。:P
Kunok

13个字符,因为它返回毫秒
Shiplu Mokaddim
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.