A pyramid is built bottom to top, not top to bottom. That's also one of the strengths of the ISO format. You can add/remove layers for arbitrary granularity and still have a valid date.
Yeah, but people read top to bottom. The best way to do it would be to have upside down pyramids. With the biggest blocks at the top representing the biggest unit of time (YYYY) and the smallest blocks at the bottom representing seconds & smaller.
I mean 11:40:20 in what NodaTime would call a "LocalDateTime". i.e., irrespective of the time zone.
(And incidentally, if you're working in C# I strongly recommend the NodaTime library. And even if you're not, I strongly recommend watching the lectures about dates and times by the NodaTime developer, who demonstrates a way of thinking about dates and times that is so much more thoughtful than what most standard libraries allow for without very careful attention paid by the programmer.)