]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
Question about default timezone ":/etc/localtime"
authorspalax <spalax@web>
Sun, 25 Dec 2016 21:05:08 +0000 (17:05 -0400)
committeradmin <admin@branchable.com>
Sun, 25 Dec 2016 21:05:08 +0000 (17:05 -0400)
doc/forum/How_to_parse___34__:__47__etc__47__localtime__34___timezone__63__.mdwn [new file with mode: 0644]

diff --git a/doc/forum/How_to_parse___34__:__47__etc__47__localtime__34___timezone__63__.mdwn b/doc/forum/How_to_parse___34__:__47__etc__47__localtime__34___timezone__63__.mdwn
new file mode 100644 (file)
index 0000000..cf7f2b5
--- /dev/null
@@ -0,0 +1,13 @@
+Hello,
+I am writing a plugin that uses the timezone. Ikiwiki.pm [defines the default timezone](http://source.ikiwiki.branchable.com/?p=source.git;a=blob;f=IkiWiki.pm;h=fa71f479107a2388fde2fe00a67bfa2daa4fb3a9;hb=HEAD#l638) to ``:/etc/localtime``. The problem is that I do not know how to parse this.
+
+In my code, I have lines like ``$now = DateTime->now(time_zone => $config{timezone});`` or ``$thistime = DateTime->from_epoch(epoch=>$thistime, time_zone=>$config{timezone});``. They work well when timezone is something like ``Europe/Paris``, but with the default ``:/etc/localtime``, I get the error message ``The timezone ':/etc/localtime' is an invalid name.``
+
+Is there a way to automatically recognize both ``Europe/Paris`` and ``:/etc/localtime``? Or should I add something like the following in my code?
+
+    if ($config{timezone} eq ":/etc/localtime") {
+        $config{timezone} = DateTime::TimeZone->new(name=>'local')->name();
+    }
+
+Regards,  
+[[Louis|spalax]]