ここでは、中心的な問題と解決策に焦点を当てた、いくつかのタイトルのオプションを示します。 オプション 1 (直接的かつ問題に焦点を当てた): * UNIX 時間を変換するときに SimpleDateFormat.parse が一貫性のない出力を生成するのはなぜですか

Susan Sarandon
リリース: 2024-10-27 20:46:01
オリジナル
629 人が閲覧しました

Here are a few title options, focusing on the core issue and solution:

Option 1 (Direct and Problem-Focused):

* Why does SimpleDateFormat.parse produce inconsistent output when converting UNIX timestamps?

Option 2 (More Specific to the Cause):

* Time

SimpleDateFormatter.parse 出力形式の不一致

SimpleDateFormat を使用して UNIX タイムスタンプを特定の日付形式に変換しようとすると、ユーザーは、

この不一致の理由の 1 つは、タイム ゾーンが一致しない可能性であることです。 SimpleDateFormat のタイムゾーンが予想される出力と一致していることを確認してください。さらに、Date のコンストラクターで要求されているように、エポック タイムスタンプがミリ秒単位で表されていることを確認します。

推奨される解決策:

潜在的なフォーマットの問題を回避し、データベースの互換性を確保するには、文字列の代わりに日付オブジェクトを MySQL に直接渡すことをお勧めします。 LocalDateTime などの java.time クラスを利用して日付と時刻を表します。

更新されたコード スニペットは次のとおりです:

<code class="java">String ep = "a1527069600";
long epoch = Long.parseLong(ep.substring(1));
Instant instant = Instant.ofEpochSecond(epoch);
LocalDateTime ldt = instant.atZone(ZoneId.of("Asia/Calcutta")).toLocalDateTime();

PreparedStatement ps = myDatabaseConnection.prepareStatement(
        "insert into my_table (my_date_time) values (?)");
ps.setObject(1, ldt);</code>
ログイン後にコピー

このアプローチにより、日付は指定された時刻に従ってフォーマットされるようになります。ゾーンに保存され、データベースにオブジェクトとして保存されるため、フォーマット エラーの可能性が排除されます。

以上がここでは、中心的な問題と解決策に焦点を当てた、いくつかのタイトルのオプションを示します。 オプション 1 (直接的かつ問題に焦点を当てた): * UNIX 時間を変換するときに SimpleDateFormat.parse が一貫性のない出力を生成するのはなぜですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!