Main Content

uidatepicker

日付ピッカー コンポーネントの作成

説明

d = uidatepicker は、日付ピッカーを新しい Figure で作成し、DatePicker オブジェクトを返します。MATLAB® は関数 uifigure を呼び出してこの Figure を作成します。

d = uidatepicker(Name,Value) は 1 つ以上の Name,Value のペアの引数を使用して、DatePicker のプロパティ値を指定します。

d = uidatepicker(parent) は、指定された親コンテナー内に日付ピッカーを作成します。親には、関数 uifigure を使用して作成された Figure か、またはその子コンテナーのいずれかを指定できます。

d = uidatepicker(parent,Name,Value) は、指定したコンテナーに日付ピッカーを作成し、1 つ以上の DatePicker プロパティ値を設定します。

すべて折りたたむ

UI Figure の左上隅に日付ピッカーを作成します。

fig = uifigure('Position',[500 500 320 280]);
d = uidatepicker(fig,'Position',[18 235 150 22]);

Date picker in a UI figure window. The date picker has watermark text "mm/dd/yyyy".

dd-MM-yyyy 形式を使用してテキスト フィールドに日付を表示する日付ピッカーを作成します。実行中のアプリに透かしが新しい形式で表示され、選択されたすべての日付がこの形式を使用します。

fig = uifigure('Position',[500 500 320 280]);
d = uidatepicker(fig,'Position',[18 235 150 22]);
d.DisplayFormat = 'dd-MM-yyyy';

Date picker in a UI figure window. The date picker has watermark text "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 月に移動すると、年間通算日の初日とすべての日曜日が無効になっています。

Date picker in a UI figure window. The date picker is expanded and displays dates in January 2018. January 1st and days that fall on Sunday are dimmed and crossed out.

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

On the left is a UI figure window with a date picker. April 9th, 2014 is selected, and the cursor is hovering on April 15th, 2014. On the right is a UI figure with a confirmation dialog with text: "Change date from 04-09-2014 to 04-15-2014?".

入力引数

すべて折りたたむ

親コンテナー。関数 uifigure を使用して作成された Figure オブジェクト、またはその子コンテナー (TabPanelButtonGroup または GridLayout) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure を呼び出し、親コンテナーとして機能する新しい Figure オブジェクトを作成します。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: d = uidatepicker('Value',datetime('today')) は、UI に今日の日付が選択された状態で、日付ピッカーを作成します。

メモ

ここでは、プロパティの一部だけを紹介しています。完全な一覧については、DatePicker のプロパティ を参照してください。

選択された日付。Limits プロパティの範囲内の datetime オブジェクトとして指定します。選択された日付を指定しないままにするには、このプロパティを NaT に設定します。

指定された datetime オブジェクトに時間情報が含まれている場合、日付情報のみが Value プロパティに保持されます。

例: d = uidatepicker('Value',datetime('today'))

データ型: datetime

日付ピッカーのテキスト フィールドの表示形式。文字ベクトルまたは 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
Q1 桁表記の四半期2
QQ2 桁表記の四半期02
QQQ省略形で表記した四半期Q2
QQQQ完全名で表記した四半期第2四半期
M1 桁または 2 桁の数値で表記した月4
MM2 桁の数値で表記した月04
MMM短縮名で表記した月4月
MMMM完全名で表記した月4月
MMMMM大文字の頭文字で表記した月A
W1 桁表記の月間通算週2
d1 桁または 2 桁表記の月間通算日9
dd2 桁表記の月間通算日09
D1 ~ 3 桁表記の年間通算日99
DD2 桁表記の年間通算日99
DDD3 桁表記の年間通算日099
e1 桁または 2 桁の数値で表記した曜日4 (週の始まりは日曜日)
ee2 桁の数値で表記した曜日04
eee短縮名で表記した曜日
eeee完全名で表記した曜日水曜日
eeeee先頭文字で表記した曜日

メモ

  • 実行中のアプリの編集フィールドは、DisplayFormat に単語が含まれている場合でも、区切られた数値を受け入れます。たとえば、月の形式が 'MMMM' のように指定されている場合、アプリは 04 のような数値の月を受け入れますが、月の名前を '4 月' のように表示します。

  • ユーザーが実行中のアプリで年間通算日番号を指定し、形式に年間通算日 (D) とグレゴリオ年 (y) の両方の識別子が含まれる場合、datetime は年間通算日番号を正しく読み取れない場合があります。y の代わりに ISO 年 (u) を使用してください。

  • ゼロに近い年番号を扱うときは、文字 y の代わりに文字 u を 1 文字以上使用します。

値変更済み関数。次のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである 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 のコールバックを参照してください。

親コンテナーを基準にした、折りたたまれた日付ピッカーの位置とサイズ。[left bottom width height] の形式のベクトルとして指定します。次の表で、ベクトルの各要素について説明します。

要素説明
left親コンテナーの内側左端から日付ピッカーの外側左端までの距離
bottom親コンテナーの内側下端から日付ピッカーの外側下端までの距離
width日付ピッカーの外側の右端から左端までの距離
height日付ピッカーの外側の上端から下端までの距離

すべての測定単位はピクセルです。

バージョン履歴

R2018a で導入

すべて展開する

参考

関数

プロパティ