2

間隔 (2 つの Oracle タイムスタンプ間の経過時間) をデータベースに秒単位で保存し、フロントエンドで Java を使用してフォーマットします。

レポートで達成したいのは、「HH:MM」または「HH:MM:SS」という形式の形式で、日付と時刻の情報で発生するようにローカライズされた時間区切り記号「:」を使用します。つまり、「.」です。イタリア語の場合は「:」、英語の場合は「:」。

残念ながら、SimpleDateFormat などの日付関連の書式設定クラスは機能しません**。24 時間を超える期間が予想されるためです。サードパーティのライブラリも使用したくありません。

この問題を解決する方法を知っていますか?

ティア

4

2 に答える 2

2

24時間以上必要な場合は、これを個別に印刷できます。

int hour = time / 3600000;
String duration = time + new SimpleDateFormat(":mm:ss").format(new Date(time));

他のロケールをサポートするには、このより複雑な例を実行できます。

int hour = time / 3600000;
String duration = hour
                + DateFormat.getDateInstance(DateFormat.MEDIUM, locale)
                            .format(new Date(time % 3600000).substring(1);

これにより、時間の最後の桁+分+秒にロケール固有の形式を使用し、時間の追加の桁を前に追加します。注:これは負の時間には機能しません。

于 2012-11-19T09:47:20.460 に答える