0

DateFieldコンポーネントを使用すると、selectedDate.getHoursは24:00:00として返されます。00:00:00として返してほしい。

これを行う簡単な方法はありますか?

ありがとう!

アップデート:

まず、DateFieldコンポーネントのselectedDateに等しい変数をモデルに設定します。

model.generalInfo.endDate = endDate_df.selectedDate;

次に、その値に基づいて別の変数を設定し、それをトレースします。

param.todate = df.format( model.generalInfo.endDate.toString() );

そして、これは私が24:00:00に等しい時間を見るところです

4

2 に答える 2

2

あなたは次のようなことを試すことができます

  selectedDate.time = selectedDate.time - 24 * 60 * 60 * 60 * 1000

Date.timeは、1970年以降のミリ秒などを表します。24時間減算します。

うまくいかない場合は、それを変換する新しい関数またはゲッターを作成するか、DateFieldをスーパークラスとして新しいmxmlモジュールを作成し、getHoursメソッドをオーバーライドできます。これを行うためのオプションのトン..

于 2012-12-06T21:00:47.430 に答える
1

FlexDateFormatterを使用してDateオブジェクトをフォーマットしているようです。このクラスのドキュメントを見てください。これには、日付(またはこの場合は時刻)の出力方法を制御するために使用できるformatStringプロパティがあります。

「H」をDateFormatter含むフォーマット文字列を指定すると、1〜24の数値範囲を使用して24時間形式で時間が出力されます。フォーマット文字列に「J」が含まれている場合、0〜23の範囲を使用して24時間形式で時間を出力します。

目的の出力を取得するには、他の項目に加えて、フォーマット文字列で「JJ」を使用します。たとえば、時間、分、秒を出力するには、次のようにします。

var someDate:Date = new Date(2012, 11, 5);
var df:DateFormatter = new DateFormatter();
df.formatString = "JJ:NN:SS";
var formatted:String = df.format(someDate); // 00:00:00

また、@ Flextrasで説明したように、使用できるFlashローカリゼーションAPIがあり、日付/時刻文字列をロケールで使用される値に変換するという追加の利点があります。これらはDateTimeFormatterクラスです:

これらのクラスは、日付をユーザーのロケール(または指定したロケール)にフォーマットDateし、オブジェクトを同じ方法でフォーマットしますDateFormatter

于 2012-12-06T22:46:43.113 に答える