2008/11/20

[Programming] 犯錯 + BUG ==> PHP5 計時亂掉

這個問題應該是只發生在 php5 上面的問題。

話說一個 php 計時的 script 發生了多了八個小時的問題,所以開始追蹤這個 bug ,結果發現到:
$ echo $TZ

$ cat /etc/php5/cli/php.ini|grep timezone
; Defines the default timezone used by the date functions
;date.timezone =
$ cat /etc/timezone
Asia/Taipei
$ echo "<? echo date_default_timezone_get(); ?>"|php
Asia/Chongqing

哇勒?!我明明系統設 Taipei 啊?幹嘛給我丟到對岸的中國去?這個應該是 php 的臭蟲吧?

再下
$ echo "<? echo time()%86400; ?>"|php
6210

... (恍然大悟) time() 回復的是 UTC 的時間。所以如果你是用 time() 來計算時間,在使用時就要注意,不能和帶有時區的函式一起使用。像是如果 time() 和 strftime 混用,那麼你計算出來的時間就會相差 8:00 (台灣的時差)。
張貼留言

[Windows] 好用的小工具: AutoHotKey

做為一個 Linux 的愛好者,轉移到 Windows 上面的時候,往往難以適應 Windows 調整快捷鍵的方式,所以 google 了一下,結果發現很多人愛用的 "Auto Hot key"。不多說,就來給一個範例說明如何使用 Auto Hot key 來...