Re: Follow up to mg106646 - Selecting a range of dates?

• To: mathgroup at smc.vnet.net
• Subject: [mg107227] Re: Follow up to mg106646 - Selecting a range of dates?
• From: Albert Retey <awnl at gmx-topmail.de>
• Date: Sat, 6 Feb 2010 03:23:10 -0500 (EST)
• References: <hkgl2o\$6sq\$1@smc.vnet.net>

```Hi,

> Given a list of date strings with each member in the list being in the
> format of "Thu Nov 19 12:09:23 GMT 2009", what is the best method of
> selecting matches between a date range?
>
> e.g., all data between November 1 2009 to November 8th 2009...
>
> I need to make sure this crosses year boundaries and such.
>
> My initial though is to convert the datestring into seconds since epoch and
> do a basic numerical comparison between two ranges.

basically I think that sounds like a very reasonable plan...

> I've tried:
>
> Cases[zz, _?(AbsoluteTime[{"12/01/2009", {"Month", "Day", "Year"}}] >=
>      AbsoluteTime[#[[1]]] <=
>      AbsoluteTime[{"12/02/2009", {"Month", "Day", "Year"}}]) &]
>
>
> where 'zz' is:
>
>
> {{"Tue Dec 01 00:03:57 GMT 2009", 7370}, {"Tue Dec 01 04:57:23 GMT 2009",
>   16179}, {"Mon Dec 07 20:50:04 GMT 2009",
>   8546}, {"Wed Dec 09 00:29:57 GMT 2009", 9017}}

And what is your question? I guess you would like to understand why the
code does not do what you want, but the reason is rather trivial: you
need a <= after the first AbsoluteTime to create a nontrivial condition.
Note that there is also Select, which fits your use case better than Cases:

Select[zz, (AbsoluteTime[{"12/01/2009", {"Month", "Day", "Year"}}] <=
AbsoluteTime[#[[1]]] <=
AbsoluteTime[{"12/02/2009", {"Month", "Day", "Year"}}]) &]

hth,

albert

```

• Prev by Date: A New Scientist article verified with Mathematica
• Next by Date: Re: Re: DeleteDuplicates is too slow?
• Previous by thread: Follow up to mg106646 - Selecting a range of dates?
• Next by thread: Re: Re: Follow up to mg106646 - Selecting a range of