住所、または州や郵便番号の現在の時刻を取得する方法を見つけようとしています。
つまり、ここ (MN) が正午の場合、アリゾナ州フェニックスでは何時ですか?
理想的には、サマータイムを考慮に入れます。
外部のWebサービスに頼らずにやりたい。
外部 Web サービスに依存せずに、一般的な方法でこれを行うことは不可能です。実際には 2 つ必要です。最初に、住所を地図上の座標にジオコーディングする必要があります。次に、座標でのタイム ゾーンと夏時間のルールを把握します。
Google は最近タイム ゾーン サービスの提供を開始したため、少量の場合は比較的簡単です。https://developers.google.com/maps/documentation/geocoding/とhttps://developers.google.com/maps/documentation/timezone/が必要です 新しいタイムゾーン API は timeStamp パラメータを受け入れ、変換可能な dstOffset を返しますDateTime へ/からhttps://stackoverflow.com/a/7844741/467198
または、Google 以外のサービスが http://www.earthtools.org/webservices.htm にあり、そのまま提供され、座標に基づいてフォーマットされた現地時間をすぐに返すことができます。住所をジオコーディングする必要があります。
デビッドがここで言及した答え米国の郵便番号をタイムゾーンにマッピングする は、州または郵便番号をタイムゾーンに単純にマッピングします。そして明らかに、これは米国のみのソリューションです。