How to write query with startdate = now?
ElementCriteriaModel parameters always add up to further filter down the results, which means an element has to be truthy for each one of them to be returned.

So your params basically look right for what you're trying to achieve. The only thing that might mess with the results is the for me unusual use of the w3c methods on the DateTime objects, which might output in a format not supportet by the criteria model.

Try one of the following variants instead:

"&lt;= " ~ now.iso8601()
"&lt;= " ~ now|date('c')
"&lt;= " ~ now|date('U')

If you're not interested in ouputting the time, you could also just use:

"&lt;= " ~ now  

which outputs the same as "&lt;= " ~ now|date('Y-m-d').