There are similar questions to this like list search but this question is focused on finding at subset of dates in DateList format within a range of specified dates from the original key list. The actual list of events is large at ~300,000 x 60 table covering 18 months of activities. The dates are indexed but this maybe not the best approach for find the subset items. I have generated a sample set of the same format using
sampledata = Table[DateString[DatePlus[DateList[][[1 ;; 3]],
RandomInteger[547]], {"Month",",", "Day", ",", "Year"}], {i, 2000}];
I am attempting to use the keys from position index to
dates = PositionIndex[ DateList[{#, {"Month", "Day", "Year"}}][[1 ;; 3]] & /@ sampledata]
but the search method may be too slow to embed in a Manipulate loop with the date limits dynamically selected from the keys to display the other data associated with the dates.
upperlimit = {2015, 1, 30};
lowerlimit = {2015, 1, 15};
datekeys = Flatten[Position[(DateDifference[#, upperlimit ] > Quantity[0, "Days"]
&& DateDifference[#, lowerlimit] < Quantity[0, "Days"]) & /@ dates, True]]
selecteddates = Sort[Flatten[dateindex[dates[[#]]] & /@ datekeys]]
Gives the index of the original data list
sampledata[[selecteddates]]
I chose this method to generate the date index outside of the Manipulate call since the other functions are fast. Any suggestions on how to speed up the process?

DatePattern? – Mike Honeychurch Nov 30 '15 at 22:31