unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Giorgos Keramidas <keramida@ceid.upatras.gr>
To: help-gnu-emacs@gnu.org
Subject: Re: problem with time-stamps on GNU/Linux and Windows
Date: Fri, 05 Sep 2008 03:38:12 +0300	[thread overview]
Message-ID: <874p4vig0b.fsf@kobe.laptop> (raw)
In-Reply-To: mailman.18448.1220552912.18990.help-gnu-emacs@gnu.org

On Thu, 04 Sep 2008 20:37:26 +0200, Seweryn Kokot <s.kokot@po.opole.pl> wrote:
> Well, (current-time-string) function returns the same strings on both
> systems, but in English, for example: "Thu Sep 4 20:16:51 2008". BTW
> why this function gives abbreviations in English and not the locale's
> ones?

Because this way the output is predictably formatted, and programs can
read it with a well-known, predefined format.  The `format-time-string'
function can be used for locale-aware results.

> Whereas this function
>
> (defun my-insert-time-stamp ()
>   (interactive)
>   (insert (format-time-string "%a %b %d %02H:%02M:%02S %Y")))
>
> on Windows gives
> (my-insert-time-stamp)
> Cz wrz 04 20:13:20 2008
>
> and on GNU/Linux:
> czw wrz 04 20:16:29 2008
>
> I raise this problem because org-mode has some problems parsing these
> inconsistent abbreviations.
>
> Is it possible to get the result of (my-insert-time-stamp) in English
> like in the case of the (current-time-string) function?

One way to get predictable timestamps in `my-insert-time-stamp' is to
temporarily alter the value of `system-time-locale':

    (defun my-insert-time-stamp ()
      (interactive)
      (insert (let ((system-time-locale "C"))
                (format-time-string "%a %b %d %02H:%02M:%02S %Y"))))

This will always use the "C" locale when displaying time, and the output
inserted by `my-insert-time-stamp' will be similar to:

    "Fri Sep 05 03:34:47 2008"

To make the timestamps inserted independent of the local timezone, it
may also be worth to call `format-time-string' with a third argument of
`T' to output the timestamp in UTC:

    (defun my-insert-time-stamp ()
      (interactive)
      (insert (let ((system-time-locale "C"))
                (format-time-string "%a %b %d %02H:%02M:%02S %Y" (current-time) t))))



  parent reply	other threads:[~2008-09-05  0:38 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.18400.1220525633.18990.help-gnu-emacs@gnu.org>
2008-09-04 13:00 ` problem with time-stamps on GNU/Linux and Windows Jason Rumney
2008-09-04 17:27   ` ken
2008-09-04 17:43     ` Eli Zaretskii
2008-09-04 18:37       ` Seweryn Kokot
2008-09-04 19:04         ` ken
2008-09-04 19:55           ` Seweryn Kokot
     [not found]       ` <mailman.18448.1220552912.18990.help-gnu-emacs@gnu.org>
2008-09-05  0:38         ` Giorgos Keramidas [this message]
2008-09-04 18:19     ` Seweryn Kokot
2008-09-04 11:02 Seweryn Kokot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874p4vig0b.fsf@kobe.laptop \
    --to=keramida@ceid.upatras.gr \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).