uidatepicker
日付ピッカー コンポーネントの作成
構文
説明
は、日付ピッカーを新しい Figure で作成し、d
= uidatepickerDatePicker
オブジェクトを返します。MATLAB® は関数 uifigure
を呼び出してこの Figure を作成します。
は 1 つ以上の d
= uidatepicker(Name,Value
)Name,Value
のペアの引数を使用して、DatePicker
のプロパティ値を指定します。
は、指定したコンテナーに日付ピッカーを作成し、1 つ以上の d
= uidatepicker(parent
,Name,Value
)DatePicker
プロパティ値を設定します。
例
UI Figure 内での日付ピッカーの作成
UI Figure の左上隅に日付ピッカーを作成します。
fig = uifigure('Position',[500 500 320 280]); d = uidatepicker(fig,'Position',[18 235 150 22]);
カスタム日付形式の表示
dd-MM-yyyy
形式を使用してテキスト フィールドに日付を表示する日付ピッカーを作成します。実行中のアプリに透かしが新しい形式で表示され、選択されたすべての日付がこの形式を使用します。
fig = uifigure('Position',[500 500 320 280]); d = uidatepicker(fig,'Position',[18 235 150 22]); d.DisplayFormat = 'dd-MM-yyyy';
日曜日および祝日の無効化
日曜日と 2018 年元旦を無効にする日付ピッカーを作成します。
fig = uifigure('Position',[500 500 375 280]); d = uidatepicker(fig,'Position',[18 225 150 22]); d.DisabledDaysOfWeek = 1; d.DisabledDates = datetime(2018,1,1);
日付ピッカーを展開して 2018 年 1 月に移動すると、年間通算日の初日とすべての日曜日が無効になっています。
日付の選択のコールバックの作成
ValueChangedFcn
コールバックを使用して Figure および日付ピッカーを作成する、mydateapp.m
というプログラム ファイルを作成します。
function mydateapp fig = uifigure('Position',[340 400 415 300]); d = uidatepicker(fig,'DisplayFormat','MM-dd-yyyy',... 'Position',[130 190 150 22],... 'Value',datetime(2014,4,9),... 'ValueChangedFcn', @datechange); function datechange (src,event) lastdate = char(event.PreviousValue); newdate = char(event.Value); msg = ['Change date from ' lastdate ' to ' newdate '?']; % Confirm new date selection = uiconfirm(fig,msg,'Confirm Date'); if (strcmp(selection,'Cancel')) % Revert to previous selection if cancelled d.Value = event.PreviousValue; end end end
関数 datechange
は、確認ダイアログ ボックスを表示して、そのダイアログ ボックスでユーザーがクリックするボタンを判別します。ユーザーが [キャンセル] をクリックすると、日付ピッカーは以前の日付に戻ります。
プログラムを実行し、日付をクリックして、確認ダイアログ ボックスを参照します。
mydateapp
入力引数
parent
— 親コンテナー
Figure
オブジェクト (既定値) | Tab
オブジェクト | Panel
オブジェクト | ButtonGroup
オブジェクト | GridLayout
オブジェクト
親コンテナー。関数 uifigure
を使用して作成された Figure
オブジェクト、またはその子コンテナー (Tab
、Panel
、ButtonGroup
または GridLayout
) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure
を呼び出し、親コンテナーとして機能する新しい Figure
オブジェクトを作成します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: d = uidatepicker('Value',datetime('today'))
は、UI に今日の日付が選択された状態で、日付ピッカーを作成します。
メモ
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、DatePicker のプロパティ を参照してください。
DisplayFormat
— 表示形式
文字ベクトル | string スカラー
日付ピッカーのテキスト フィールドの表示形式。文字ベクトルまたは string スカラーとして指定します。既定の形式は、アプリを実行するシステムのロケールによって決まります。
指定した形式では、Unicode® ロケール データ マークアップ言語 (LDML) の日付および時刻の標準に対応する有効な文字識別子を使用しなければなりません。フィールドを区切るために、ハイフン、スペース、コロンなどの記号や ASCII 以外の文字を含めることができます。
例: d = uidatepicker('DisplayFormat','dd/MM/yy')
一般的な形式の例
次の表に一般的な表示形式を示します。ここで示す出力の例は、2014 年 4 月 9 日 (水) の日付に形式を適用したものです。
Format の値 | 例 |
---|---|
'yyyy-MM-dd' | 2014-04-09 |
'dd/MM/yyyy' | 09/04/2014 |
'dd.MM.yyyy' | 09.04.2014 |
'yyyy年 MM月 dd日' | 2014年 04月 09日 |
'MMMM d, yyyy' | 4 月 9, 2014 |
すべての日付と時刻の形式
これらの文字識別子を使用して表示形式を作成します。この表の 3 番目の列は、2014 年 4 月 9 日 (水) の日付の出力を示します。
文字識別子 | 説明 | 表示 |
---|---|---|
G | 紀元 | CE |
y | 先頭に 0 を付けない表記の年。 | 2014 |
yy | 下 2 桁表記の年。 | 14 |
yyy , yyyy ... | 'y' の個数以上の桁数を使用した年 | 2014 年の場合、'yyy' では 2014 と表示され、'yyyyy' では 02014 と表示されます。 |
u , uu , ... | 年を単一の数値で表した ISO 年。 | 2014 |
Q | 1 桁表記の四半期 | 2 |
QQ | 2 桁表記の四半期 | 02 |
QQQ | 省略形で表記した四半期 | Q2 |
QQQQ | 完全名で表記した四半期 | 第2四半期 |
M | 1 桁または 2 桁の数値で表記した月 | 4 |
MM | 2 桁の数値で表記した月 | 04 |
MMM | 短縮名で表記した月 | 4月 |
MMMM | 完全名で表記した月 | 4月 |
MMMMM | 大文字の頭文字で表記した月 | A |
W | 1 桁表記の月間通算週 | 2 |
d | 1 桁または 2 桁表記の月間通算日 | 9 |
dd | 2 桁表記の月間通算日 | 09 |
D | 1 ~ 3 桁表記の年間通算日 | 99 |
DD | 2 桁表記の年間通算日 | 99 |
DDD | 3 桁表記の年間通算日 | 099 |
e | 1 桁または 2 桁の数値で表記した曜日 | 4 (週の始まりは日曜日) |
ee | 2 桁の数値で表記した曜日 | 04 |
eee | 短縮名で表記した曜日 | 水 |
eeee | 完全名で表記した曜日 | 水曜日 |
eeeee | 先頭文字で表記した曜日 | 水 |
メモ
実行中のアプリの編集フィールドは、
DisplayFormat
に単語が含まれている場合でも、区切られた数値を受け入れます。たとえば、月の形式が'MMMM'
のように指定されている場合、アプリは04
のような数値の月を受け入れますが、月の名前を'4 月'
のように表示します。ユーザーが実行中のアプリで年間通算日番号を指定し、形式に年間通算日 (
D
) とグレゴリオ年 (y
) の両方の識別子が含まれる場合、datetime
は年間通算日番号を正しく読み取れない場合があります。y
の代わりに ISO 年 (u
) を使用してください。ゼロに近い年番号を扱うときは、文字
y
の代わりに文字u
を 1 文字以上使用します。
ValueChangedFcn
— 値変更済み関数
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
値変更済み関数。次のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
ユーザーがテキスト フィールドに日付を入力して変更するか、日付ピッカーを展開して日付を選択すると、ValueChangedFcn
コールバックが実行されます。
このコールバック関数は、ユーザーの日付ピッカー操作に関する特定の情報にアクセスできます。MATLAB は、この情報を ValueChangedData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event
と呼ばれます。ドット表記を使用して、オブジェクトのプロパティを取得できます。たとえば、event.PreviousValue
は前に選択した日付を取得します。ValueChangedData
オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。
次の表に、ValueChangedData
オブジェクトのプロパティを示します。
プロパティ | 値 |
---|---|
Value | 新たに選択された日付 |
PreviousValue | 前に選択された日付 |
Source | コールバックを実行するコンポーネント |
EventName | 'ValueChanged' |
ユーザーが現在選択している日付を選択し直したり、入力し直したりしても ValueChangedFcn
コールバックは実行されません。Value
プロパティがプログラムにより変更された場合も、コールバックは実行されません。
App Designer でのコールバックの作成の詳細については、App Designer のコールバックを参照してください。
Position
— 位置とサイズ
[100 100 150 22]
(既定値) | [left bottom width height]
親コンテナーを基準にした、折りたたまれた日付ピッカーの位置とサイズ。[left bottom width height]
の形式のベクトルとして指定します。次の表で、ベクトルの各要素について説明します。
要素 | 説明 |
---|---|
left | 親コンテナーの内側左端から日付ピッカーの外側左端までの距離 |
bottom | 親コンテナーの内側下端から日付ピッカーの外側下端までの距離 |
width | 日付ピッカーの外側の右端から左端までの距離 |
height | 日付ピッカーの外側の上端から下端までの距離 |
すべての測定単位はピクセルです。
バージョン履歴
R2018a で導入R2021a: プレースホルダー テキストの指定
Placeholder
プロパティを使用して、想定される日付ピッカー入力を説明する簡単なヒントを提供します。
詳細については、DatePicker のプロパティ を参照してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)