0

私はデータベース開発に不慣れで、現在MySQLで働いています。米国のすべてのタイムゾーンを含む列があります。各行の各タイムゾーンについて、現在の時刻(時刻のみ、日付なし)を取得できるようにしたい。

TimeZoneデータは次のようになります:+05:00、-03:00など

これが私が試みた方法です。私は2つのテーブル、1つの国、1つの都市を持っています。TimeZoneは「city」テーブル内にあります。関数sysdate()を使用しようとしましたが、タイムゾーンに基づいていない、システムの完全な日付と現在の時刻が返されます。誰かが私を助けることができますか?どうもありがとう

 select TimeZone, Country, sysdate() as "Current Time"  
 from city, country 
 where Country='USA' and city.CountryId= country.CountryId;
4

1 に答える 1

1

convert_tz関数を使用できるはずです。

SELECT CONVERT_TZ(NOW(),'-07:00', city.TimeZone) AS Time, city.Name
    FROM city, country 
    WHERE country.Name='USA' and city.CountryId= country.CountryId;

サーバーが-07:00のタイムゾーンにあると仮定します。

于 2012-10-10T03:22:07.397 に答える