joomla元件開發中的時區問題

2022-01-22 12:13:49 字數 883 閱讀 4975

joomla的所有元件的日期資料,都統一使用mysql的datetime,輸出格式型別於2004-02-12t15:19:21

這種格式好處是在資料庫中可以很直觀地看到時間,但僅僅只是有這個好處,壞處卻一大堆,例如不方便兩個日期比較,不方便計算日期之間間隔了多久,總之一切日期運算都很不方便!joomla又是個多語言cms系統,而datetime這種格式要表達時區概念,必須在mysql的datetime上加上offset,而mysql的datetime則始終是utc。例如中國的時區是加8小時,那麼從資料庫中得到的datetime還需要加上8小時,時間才是最準確的。這種換算非常重要,而且也是很容易讓人忽略的部分。

<?php

// 獲取從資料庫中得到的時間並顯示

echo jhtml::_('date',$row->datetime , jtext::_('date_format_lc2'));

// 錄入時間字串,到資料庫中查詢

$config =& jfactory::getconfig();

// 得到系統時區

$offset = $config->getvalue('config.offset');

$jdate = jfactory::getdate('2001-1-2', $offset);

$query .= " and i.created >= '".$jdate->tomysql(true)."' ";

// 用當前時間進行查詢

$config = &jfactory::getconfig();

$tzoffset = $config->getvalue('config.offset');

$date = &jfactory::getdate($row->created, $tzoffset);

Jqplot在joomla元件中的應用

1 在com collect元件中採用的是ajax獲取json型別的值。這上邊有例項。2 在jqplot中由於x軸上的文字密集,最開始想到的是給文字設定乙個傾斜角度,angle 30,可是發現我的字型還是密密麻麻的,沒有變化,後來我在查詢問題時發現可以設定x軸每個座標的寬度,即設定 jqplot x...

快速編寫joomla的元件

joomla的元件只要在相應的site方的views下面有目錄就自動能在選單中生成鏈結,可以在選單中直接使用,而在前台要顯示的 都可以寫在tmpl下面的default.php檔案中,最方便,而其中用到的css和注意就都變成了joomla的全域性目錄,自己的css存放在joomla的根目錄下,css中...

徹底解決Odoo8 0單時區應用中的時區問題

由於資料庫中儲存的是utc時區,預設情況下資料匯出和group by都存在時區問題。徹底解決辦法 將以utc時區儲存的資料改為按目標時區儲存,並去掉js中的時區轉換。1 修改odoo系統環境時區 odoo openerp init py 檔案 import os os.environ tz utc ...