ナレッジベース
公開されました Sep. 10, 2025

全ユーザーのタイムゾーンの一括更新を実行したいのですが、どうすればよいですか?

written-by

Jorge Diaz

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

問題

Liferayをインストールし、すべてのユーザーを作成した後、お客様はLiferayインスタンスとすべてのユーザーがデフォルトのタイムゾーン(UTC)で構成されていることに気づきましたが、それは正しいもの(例えば:ヨーロッパ/パリ)に更新する必要があります。

Liferayインスタンスのデフォルトタイムゾーンの変更は、 Locales and Encoding Configurationページ で説明されていますが、この変更は既存のユーザーのタイムゾーンを更新するものではありません。

既存ユーザーのタイムゾーンを一括更新する必要があります。

環境

  • DXP 7.0
  • DXP 7.1
  • DXP 7.2
  • ポータル6.0
  • ポータル6.1
  • ポータル6.2

解像度

全ユーザーのタイムゾーンとLiferayインスタンスのデフォルトタイムゾーンの一括更新を実行するためです:

  1. portal.properties ファイルの "time.zones" property から有効な timeZoneId を選びます: https://github.com/liferay/liferay-portal/blob/70f2da48ea1b13794016df044dce38ecdc63ce75/portal-impl/src/portal.properties#L2826-L2867 (例えば Europe/Paris)
  2. すべてのLiferayサーバーノードを停止する
  3. 変更を行う前にデータベースとLiferay環境をバックアップすること
  4. 次のSQLアップデートを実行します ( Europe/Paris を自分のタイムゾーンに置き換える)。
    • update User_ set timeZoneId = 'Europe/Paris'
      update Calendar set timeZoneId = 'Europe/Paris'
  5. すべてのLiferayサーバーノードを起動する

重要な注意事項

  • Liferayサポートサービスから依頼がない限り、SQLアップデートを直接データベースに実行してはいけません。
  • カスタム開発では、必ずLiferay APIを使用してデータベースを更新する必要があります。

追加情報

Liferayのインスタンスやユーザーレベルでタイムゾーンを設定し、JVMは常にUTCタイムゾーンで設定する必要があります。

JVMのタイムゾーンはUTCであるべきだと説明する記事が2つあります:

ログのタイムゾーンを変更したい場合、JVMのタイムゾーンを変更せずに変更することが可能です:

did-this-article-resolve-your-issue

ナレッジベース