UI5の単純な離脱アプリケーションでは、新しいsap.ui.commons.DatePickerの日付を各ボタンのプレスで1日増分または減分する必要がありますどうすれば新しい日付を取得して設定できますか?sap.ui.commons.DatePickerの日付値を増やす方法
問題は、DatePickerがDateの文字列のみを返すことです。私はすでに新しいDate(datePicker.getYyyymmdd())を試しましたが、Invalideの日付を返します。
UI5の単純な離脱アプリケーションでは、新しいsap.ui.commons.DatePickerの日付を各ボタンのプレスで1日増分または減分する必要がありますどうすれば新しい日付を取得して設定できますか?sap.ui.commons.DatePickerの日付値を増やす方法
問題は、DatePickerがDateの文字列のみを返すことです。私はすでに新しいDate(datePicker.getYyyymmdd())を試しましたが、Invalideの日付を返します。
文字列を日付オブジェクトに解析する方法は、hereまたはhereです。
sap.ui.commons.DatePickerはバージョン> 1.38では廃止予定です(使用しているバージョンがわからないため)sap.m.DatePickerに切り替えることを検討する必要があります。 sap.m.DatePickerにはメソッドgetDateValueもあり、これはすでに日付オブジェクトを返すべきです。
Javascriptでの日付の操作は本当に簡単です。日付に日付を追加する場合は、date.setDate(date.getDate() + 1)
となり、同じ方法で減算すると、date.setDate(date.getDate() - 1)
となります。
日付選択ツールで使用されているyyyymmdd
形式をJavaScriptのネイティブdate
タイプに戻すだけで済みます。 @ R.Schmittで述べたように、もちろんStackoverflowのJavascriptトリックを使うことができます。一方、UI5チームはすでにこのロジックをDateFormatクラスに組み込んでいます。そのため、おそらくこれを活用するのが一番です。
yyyymmdd
date
から取得するには、使用することができます:
sap.ui.core.format.DateFormat.getDateInstance({pattern : "YYYYMMdd" }).parse(date);
がdate
yyyymmdd
にフォーマットから取得するには、使用することができます。
sap.ui.core.format.DateFormat.getDateInstance({pattern : "YYYYMMdd"}).format(yyymmdd);
をJavaScriptのDate calcluationを参照して、実際のUI5のDateFormatクラスは、このjsbinを見てください: http://jsbin.com/xeyiwic/1/edit?html,output
私はJavaScriptでの日付の操作は本当に嫌だと思う。再びあなたに戻ってほしくないと思ったらmoment.jsを使用した場合: – cschuff
あなたはJavaの世界から来た場合、あなたはJavascriptのネイティブの日付の祝福が何であるかを知っています。私はあなたにその瞬間に同意します.jsはその経験をより良くします。 – jpenninkhof
私は今、sap.m.DatePicker を使用し、次のように日を増やします。しかし、私は新しい日付を設定したいときは、それはもはや日付オブジェクトではないというエラーを得る。しかし、私は再びdatePicker.getDateValue();私は新しい日付を取得しますが、古い日付は引き続きPickerに表示されます。
var date = datePicker.getDateValue();
date = date.setDate(date.getDate() +1)
datePicker.setDateValue(date);
日付の追加をする必要がある場合は、私はmoment.jsをお勧めします。 – cschuff