This would be a great feature for me too, but AFAIK it doesn't exist.
My solution to cope with such a problem is to use the service called Boomerang. What I do is that I empty my inbox as much as possible multiple times a day (at least once). For any email that would take me longer than 5 minutes to write a response to, I delay it: I ask for it to be "boomeranged" when I'll have time to deal with it (perhaps tomorrow morning very early, so that I handle it first thing in the morning, as it appears at the top of my inbox).
Often enough, I find myself delaying emails that I know don't need a quick answer (for e.g. someone invites you to a party in 2 months...), so I used to procrastinate and end up not answering. But if I boomerang it right when I'll have to reply (say a week before the party), I force myself to answer the email at the best time for me and the recipient.
Note: I'm not affiliated with Boomerang, just a happy user.
It is possible to specify time range with accuracy up to a second, because the search operators after:, before:, newer:, older: accept Unix timestamps. Using a tool such as Epoch Converter, you can find out that
- 2014-10-04 at 15:00 (using GMT for example) has timestamp 1412434800
- Add two hours (7200 seconds), or use the same tool again: 1412442000
Searching for after:1412434800 before:1412442000
will return the messages within this 2-hour range.
Since converting to Unix time looks like a chore, I made a bookmarklet that makes this substitution in place.
For example, after typing
after:2015/07/26 10:00 before:2015/07/27 11:30
in the search box (which would not work as is), invoke the bookmarklet and the string will be replaced by
after:1437919200 before:1438011000
(The bookmarklet interprets the given timestamps in your local time.)
The page I linked has both the source and a draggable link with the bookmarklet. For completeness, the source code is also posted below.
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;
}
}
Best Answer
You mean something like "1 hour, 37 minutes"? There's no way to get Gmail to do that. If you're good with userscripts you might be able to put something together to do that.
If you mouse over the relative time, you should get a tooltip to show the exact time.