Why does this echo values in the wrong order?

I’m sure there is a simple reason/answer for this: Why does

echo 'Archive for '. the_time('Y');

Read More

give me 2010Archive for? I had expected it would give me
Archive for 2010

Related posts

Leave a Reply

2 comments

  1. As most template tags that start with the_ this one echoes time and not returns it (which template tags that start with get_the_ do).

    First the_time() fires and echoes year, then its return (null) gets concatenated and echoed with string.

    So:

    echo 'Archive for ';
    the_time('Y');
    

    Or:

    echo 'Archive for ' . get_the_time('Y');