datetime.now() produces a naive datetime object which does not know tzinfo.
So the '%z' has no effect. We need to convert it to time zone aware object using
`datetime.astimezone()`.
The file update info can be accessed from the file directly on the command line. We often forget to update the
update field in the Python source file header, making this field rather useless. I have also set up the Neovim to show file update time on the title of terminal window. So there is no need to retain the update field in header comment.
The original snippet use vim interpolation and the date keeps changing while we are inside the
snippet region, which is not desired. According to https://www.youtube.com/watch?v=JJQYwt6Diro,
we can use Python interpolation and check if snip.c is empty to see if the interpolation has been finished.
If the interpolation has finished (snip.c is empty in this condition), the date will be fixed and does not change
when we are inside the snippet region.
Now we can type h1, h2, ..., h6 and press <Tab> to generate header of corresponding
level. It is more intuitive than vim-snippets's default snippets for headers, i.e., sec, ssec,
and so on.