« first day (1503 days earlier)      last day (866 days later) » 

Ah, got to love Erik's old answers :P
I'll write up a brief explanation - the use of G in that answer is actually really clever
 
ṣ”|⁶ṁ;ɗ\pG  Main Link
ṣ”|         split on "|"
   ---ɗ\    cumulatively reduce (over last three as a dyad)
   ⁶ṁ       mold space like the current list (basically replaces the last item with spaces as well)
     ;      and append the current item
        p   cartesian product with the comment item
         G  format into grid
essentially, it first splits on "|" into its components
for example, let's say we have a|bc|def
it becomes ["a", "bc", "def"]
and then we cumulatively reduce that
so we start with the empty list on the left and "a" on the right
⁶ṁ; molds " " to the empty list (being empty of course) and then appends the "a"
so our first item is just "a"
on the next step, we have "a" on the left and "bc" on the right
⁶ṁ; molds " " to "a" so we get " " and then append "bc" to get " bc" as our second item
on the third step, we have " bc" on the left and "def" on the right so we mold " " and get " " and then append to get " def"
so now we have a list of the lines
then, we take the cartesian product with "@" (or whatever the comment character is)
so now we have [["a", "@"], [" bc", "@"], [" def", "@"]]
and finally we can just convert that into a grid which automatically spaces it out for us including (right) padding
to get
a      @
 bc    @
   def @
 
The p trick is a common Jelly golf if you need to append a character to the end of each list, and G is a clever way to get the required spacing
 
4:57 PM
wow
very nice jelly string answer
porting the idea in stax leads to the same byte count lol
 
5:13 PM
nice lol
 

« first day (1503 days earlier)      last day (866 days later) »