MH & nmh: Email for Users & Programmers

May, 2006

Getting Picky About Date Searches

If you need to be precise, here's something useful that isn't in the standard pick(1) manual page.

With date specifications like yesterday, monday, or -2 ("two days ago"), pick actually counts hours, not days. Each day is counted as 24 hours in the past. This 24 hours even includes time zones.

For instance, pick -before -1 would search for messages sent more than 24 hours ago. If it's 9:30 a.m. on January 17 now, that command would find messages sent before 9:30 a.m. on January 16 -- but not messages sent after 9:30 a.m. on the 16th. The command pick -after yesterday would find messages sent after 9:30 a.m. on January 16 (after 24 hours ago).

If the message is from someone in another time zone, pick counts that, too. If it's 9:30 a.m. EST (U.S. Eastern Standard Time) on January 17 now, the command pick -before -1 would find messages sent before 9:30 a.m. EST on January 16 -- also messages sent before 8:30 a.m. CST (Central), 7:30 a.m. MST (Mountain), and 6:30 a.m. PST (Pacific). Whew.

For a cutoff at midnight on a certain day, ignoring the time zone, you have to use the date, month, and year format. For instance, if it's now 9:30 a.m. on January 17, 1995, you could find messages sent any time before midnight yesterday with pick -before 16-jan-95 (this would find a message sent at 11:59 p.m. on January 15, but not a message sent any time on January 16 or 17).