0

Joomla v2.5のコンポーネントを開発しているとき、私はmysqlタイムスタンプ列を持つテーブルを使用しています。

コンポーネントの設定の1つは、「タイムゾーン」です。コードは異なるサーバー/タイムゾーンで実行され、独立したいので、サーバーのタイムゾーンを使用したくありません。したがって、タイムスタンプをmysqlに保存し、コンポーネントのパラメータに従って正しい日付/時刻を表示するという考え方です。主な欠点は、mysqlサーバーが使用するタイムゾーンであり、状況全体が複雑になります。では、現在のタイムスタンプをMySQLのユニバーサル形式で保存し、正しい方法で表示する方法はありますか?

最終的な目標は、コンポーネントがコンポーネントのパラメータに基づいて正しい日付/時刻を表示できるようにすることです。ユーザーがその場でパラメータを変更します。データベースの変更は行われず、「表示」でのみ行われます。

正しいタイムゾーンで日付を表示するために、私はこれを使用します:

JHtml::date($date_from_mysql , 'd/m/Y H:i:s', $my_component_timezone_parameter)

あなたの考えを共有してください。

4

2 に答える 2

3

試す

jimport ('joomla.utilities.date');
$date = new JDate($mydate);
$curdate = $date->toFormat('%Y-%m-%d %H:%M:%S');

タイムゾーンの設定については、http://docs.joomla.org/JDate::setTimezone/1.6を試してください

http://www.webamoeba.co.uk/site/index.php/articles-joomla-date-time

于 2013-02-04T04:15:38.323 に答える
0

または、テーブルクラスのstoreメソッドをオーバーライドしてみてください。

public function store($updateNulls = false)
{
    // get date
    $date = JFactory::getDate();

    // set variable for timestamp
    $this->myDate = $date->toMySQL();

    return parent::store($updateNulls);
}
于 2013-02-04T19:53:37.753 に答える