Filter by field equal to one of list

I want a filter expression to return tiddlers between two sets of dates.
I looked around the internet, there are no normal solutions to this I could find - but most discussions were extremely old.

I see that I can get a list of tiddler creation dates using the relatively new “compare” filter.

However, after I do this, I just have a list of creation dates.
if I could somehow do [created[each of them]], that would be great.

Can someone help out?

Note: I know that I can do tiddlers relative to the current day. I don’t want the set of tiddlers returned to change every day. It must be between two dates, this can’t possibly be an unsolvable problem.

Thanks in advance.

This is easy to solve. The tiddlywiki serial date, saved in created and modified are just large numbers you can simply compare, in your case you can get a start date and an end-date and filter on all dates greater than the start date and less than the end date.

  • Not all dates in the rage of numbers are valid, we do not have 40 days in any month for example. However a serial date in two minutes, or 15 months is newer and greater than now. Now is always greater than before.
  • The only thing to be carful of is created and modified dates are saved in UTC but viewed in Local time. So if you do want to get it to the exact date, don’t compare the raw numbers but compare the local date/time.
  • If you want to construct a date for eastly comparison use YYYY0MM0DD120000000 that is the time proportion is noon or one second past midnight YYYY0MM0DD000001000 etc…
  • But of course your start date may come from a particular tiddlers created date to another tiddlers created date so your comparisons would be valid.

There are more details to this but this will certainly get you started.

To keep the tiddler titles, but filter by a related field value, you can use the :filter[...] “filter run prefix” syntax, like this:

[all[]] :filter[get[created]compare:date:gteq[20230212]compare:date:lteq[20230218]]