There doesn't seem to be a way to refresh the book list for a virtual library without editing two or more items. Or maybe I'm just not seeing it.
I first ran into this problem with a virtual library called "This Week," but for simplification I created a virtual library called "Today." The search expression is: "date:>1daysago"
Since I haven't added any books today, I expect that virtual library to be empty. Instead it contains the books I added last week. On that day last week, the book list was correct. On Wednesday it contained the two books I'd added that day. But every day since then, it's been wrong. Even adding another book today just gives me three books.
If I highlight more than one book and hit 'E' to edit meta information, there's a 'Refresh book list after edit' checkbox. So I have to then edit something completely inconsequential, like setting 'Date' to whatever the date already is. That's the only way I've found to make the virtual library accurately update and show the books that meet the condition.
I've searched for any answers on this, and the last comment I found was from two years ago, in which Mr. Goyal said, "The library view never needs to be refreshed unless you perform operations outside of calibre. If you have some situation where that is not true, I'd like to hear about it."
Here you go: the advancement of time is apparently an operation outside of Calibre and requires my virtual library view to be refreshed.
P.S. I should note that I leave calibre running full-time around the clock, so I can download books to my iPad when I'm not home.