0

私の jasperReport には、java.sql.Timestamp データ型の入力コントロールがあります。この入力コントロールを使用すると、レポートを実行する前にユーザーが日付を選択できるようになりました。レポートで日付ピッカー (入力コントロール) の下線パラメーターをコピーすると、レポートでユーザーが選択した正確な時間が取得されます。

私の要件は、ユーザーが選択した日付をフォーマットすることです。そのため、次のような単純な関数を作成しました

public static String convertDateToString(java.sql.Timestamp inputDate)
{
    System.out.println("The input Date is :: "+inputDate);
    String s = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss.S").format(inputDate);
    System.out.println("The output Date is :: "+s);
    return s;
}

ブラウザと jasperserver が同じタイムゾーンにある場合、これは正常に機能しますが、サーバーが異なるタイムゾーンにある場合、入力日付は印刷された日付とは異なります

4

1 に答える 1

3

iReportで使用したこれを試すことができます。

1:-Create a Parameter “DateFormatter” with 
   class="java.text.DateFormat" and set default value

  default value =[$P{REPORT_FORMAT_FACTORY}.createDateFormat("yyyy-MM-dd 
    HH:mm",$P{REPORT_LOCALE}, java.util.TimeZone.getTimeZone("IST"))

2:- テキストフィールド式:-

$F{ImportDate}== null ? "N/A" : $P{DateFormatter}.format($F{ImportDate})
于 2013-07-09T07:08:12.017 に答える