Well, this didn’t get much traction 
Here is what I have so far to use in a DQL var block to get a few of the pieces that I will need.
Day of Week:
floor(((dateVal+(5*86400)) % 604800)/86400)
Hour of Day:
floor((dateVal % 86400)/3600)
~ Week of Year: (still not exact for some dates)
ceil((((dateVal-(2*31536000)) % 126230400)-((((floor(dateVal/31557600)+1970) & 4))*31536000))/604800)
~ Day of Year: (still has a bug whree the day is 1± from actual)
floor((((dateVal-(2*31536000)) % 126230400)-((((floor(dateVal/31557600)+1970) % 4))*31536000))/86400)
A little bit tricker to figure out is the DateOfMonth and MonthOfYear since leap year and our abnormal calendar really throws a wrench into this mathematically. Seeing that math supports cond it might be possible still with a few layers of conditions. Probably not best though.
@core-devs thoughts on using math like this in a var block to get the DateTime functionality needed?