JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

【React Native】日付・時刻ピッカー(DateTimePicker)の表示方法を解説

React Nativeアプリで日付や時刻を選択できるピッカー(DateTimePicker)を表示するには、まず専用のパッケージをインストールする必要があります。プロジェクトのルートディレクトリで以下のコマンドを実行してください。

npm install @react-native-community/datetimepicker --save

インストールが完了したら、まずは日付ピッカー(DatePicker)の表示方法から見ていきましょう。

例:React NativeでのDateTimePickerの使い方

はじめに、次のようにDateTimePickerコンポーネントをインポートします。

import DateTimePicker from '@react-native-community/datetimepicker';

基本的なDateTimePickerコンポーネントの記述例は以下のとおりです。

<DateTimePicker testID="dateTimePicker" value={mydate} mode={displaymode} is24Hour={true} display="default" onChange={onChangeFunc} />

ここで、DateTimePickerの主なプロパティ(props)を確認しておきましょう。

プロパティ説明
modeピッカーの種類を指定します。「date」「time」「datetime」「countdown」から選択できます。なお、「datetime」と「countdown」はiOSでのみ利用可能です。
displayAndroidでは「default」「spinner」「calendar」「clock」、iOSでは「default」「spinner」「compact」「inline」が指定できます。
valueピッカーに渡す日付または時刻の値です。
onChangeユーザーが日付や時刻を変更したときに呼び出されるイベントハンドラです。
maximumDateピッカーで選択できる最大の日付を設定します。
minimumDateピッカーで選択できる最小の日付を設定します。

この例では、現在の日付を初期値として使用し、モードを「date」に設定しています。

const [mydate, setDate] = useState(new Date());
const [displaymode, setMode] = useState('date');

DateTimePickerコンポーネントは次のように記述します。

<DateTimePicker
    value={mydate}
    mode={displaymode}
    is24Hour={true}
    display="default"
    onChange={changeSelectedDate}
/>

日付ピッカーの完全なコード例

import React, {useState} from 'react';
import {View, Button, Platform, SafeAreaView, StyleSheet} from 'react-native';
import DateTimePicker from '@react-native-community/datetimepicker';

export default function App() {
    const [mydate, setDate] = useState(new Date());
    const [displaymode, setMode] = useState('date');
    const [isDisplayDate, setShow] = useState(false);

    const changeSelectedDate = (event, selectedDate) => {
        const currentDate = selectedDate || mydate;
        setDate(currentDate);
    };

    const showMode = (currentMode) => {
        setShow(true);
        setMode(currentMode);
    };

    const displayDatepicker = () => {
        showMode('date');
    };

    return (
        <SafeAreaView style={styles.container}>
            <View>
                <Button onPress={displayDatepicker} title="Show date picker!" />
            </View>
            {isDisplayDate && (
                <DateTimePicker
                    testID="dateTimePicker"
                    value={mydate}
                    mode={displaymode}
                    is24Hour={true}
                    display="default"
                    onChange={changeSelectedDate}
                />
            )}
        </SafeAreaView>
    );
};

const styles = StyleSheet.create({
    container: {
        flex: 1,
        alignItems: "center",
        justifyContent: "center"
    },
});

実行結果

【React Native】日付・時刻ピッカー(DateTimePicker)の表示方法を解説

画面上の「Show Date Picker」ボタンをタップすると、日付ピッカーが表示されます。

時刻ピッカーを表示する方法

続いて、時刻ピッカー(Time Picker)の表示方法を見ていきましょう。実装はとてもシンプルで、モードを「time」に変更するだけでOKです。以下がその完全なコード例です。

import React, {useState} from 'react';
import {View, Button, Platform, SafeAreaView, StyleSheet} from 'react-native';
import DateTimePicker from '@react-native-community/datetimepicker';

export default function App() {
    const [mydate, setDate] = useState(new Date());
    const [displaymode, setMode] = useState('time');
    const [isDisplayDate, setShow] = useState(false);

    const changeSelectedDate = (event, selectedDate) => {
        const currentDate = selectedDate || mydate;
        setDate(currentDate);
    };

    const showMode = (currentMode) => {
        setShow(true);
        setMode(currentMode);
    };

    const displayTimepicker = () => {
        showMode('time');
    };

    return (
        <SafeAreaView style={styles.container}>
            <View>
                <Button onPress={displayTimepicker} title="Your Time Picker" />
            </View>
            {isDisplayDate && (
                <DateTimePicker
                    value={mydate}
                    mode={displaymode}
                    is24Hour={true}
                    display="default"
                    onChange={changeSelectedDate}
                />
            )}
        </SafeAreaView>
    );
};

const styles = StyleSheet.create({
    container: {
        flex: 1,
        alignItems: "center",
        justifyContent: "center"
    },
});

【React Native】日付・時刻ピッカー(DateTimePicker)の表示方法を解説

Your Time Picker」ボタンをタップすると、時刻ピッカーが表示されます。

  1. ExcelとGoogleスプレッドシートで現在の日付・時刻を表示する方法

    ExcelやGoogleスプレッドシートで現在の日付と時刻を表示したい場合、いくつかの簡単な方法があります。キーボードショートカットを使う方法のほかに、最も手軽なのがNOW関数とTODAY関数を活用する方法です。これらの関数は、Microsoft ExcelとGoogleスプレッドシートの両方で共通して使用できます。 現在の日付・時刻を表示する2つの方法 ExcelとGoogleスプレッドシートで現在の日付や時刻を表示するには、以下の方法があります。 キーボードショートカットを使う NOW関数とTODAY関数を使う それぞれの手順を詳しく見ていきましょう。 1. キーボードショートカットを

  2. 【Windows 10】日付と時刻の表示形式を変更する2つの方法をわかりやすく解説

    タスクバーに表示される日付と時刻は、初期設定では「月/日/年」の順(例:05/16/2018)、時刻は12時間表示(例:午後8:02)になっています。しかし、これらの表示形式を自分好みに変えたいと思ったことはありませんか?実は、Windows 10の「設定」または「コントロールパネル」から、いつでも好みの形式に変更できます。たとえば、「日/月/年」の順(例:16/05/2018)にしたり、時刻を24時間表示(例:21:02)にしたりすることも可能です。 日付と時刻にはそれぞれ多数の形式が用意されているため、目的に合ったものを選ぶことが大切です。「短い日付」「長い日付」「短い時刻」「長い時刻