flutter 如何更改库比蒂诺DatePicker日期格式?

bf1o4zei  于 2022-12-27  发布在  Flutter
关注(0)|答案(4)|浏览(226)

如您所见,CupertinoDatePicker的日期格式为年月日。
但我只想每年和每个月展出。
我该怎么做呢?
下面是我的代码:

SizedBox(
  width: 500,
  height: 250,
  child: CupertinoDatePicker(
    mode: CupertinoDatePickerMode.date,
    backgroundColor: Colors.black54,
    dateOrder: DatePickerDateOrder.ymd,
    onDateTimeChanged: (date) {
      print(date);
    },
  ),
),
7cwmlq89

7cwmlq891#

你不能直接隐藏它,因为没有这样的方法隐藏它。但是你可以做的是去'/Users/your_user_name/developer/flutter/packages/flutter/lib/src/cupertino/date_picker.dart'并从该文件复制完整的代码。现在去你的项目目录,并创建一个新的dart文件anyName.dart和粘贴整个代码。并在文件中搜索下面的文本小部件。

Text(
              localizations.datePickerDayOfMonth(day),
              style:
                  _themeTextStyle(context, isValid: day <= daysInCurrentMonth),
            ),

这里用空字符串“"替换localizations.datePickerDayOfMonth(day),然后在需要使用自定义选取器的地方调用它,如下所示:

import 'package:local_app/ui/widgets/anyName.dart' as customizedDatePicker;

并利用它

customizedDatePicker.CupertinoDatePicker(
   
    initialDateTime: DateTime.now(),
    mode: customizedDatePicker.CupertinoDatePickerMode.date,
  ),
dldeef67

dldeef672#

请尝试使用flutter_cupertino_date_pickerflutter_cupertino_datetime_picker,希望这对您有所帮助。

DatePicker.showDatePicker(
    context,
    maxDateTime: DateTime.now(),
    dateFormat:'yyyy-MMMM'//your expected date format
);
ycggw6v2

ycggw6v23#

CupertinoDatePicker(
          mode: CupertinoDatePickerMode.date,
          onDateTimeChanged: (DateTime value) {
            // handle changes to the selected date
          },
          dateFormat: 'dd/MM/yyyy', // specify the date format
        );

以下是可在dateFormat字符串中使用的格式化符号的一些示例:

  • d:月份中的日期,为一位数或两位数(例如1、2、3、11、12等)。
  • dd:月份中的日期,以两位数表示(例如01、02、03、11、12等)。
  • ddd:星期几的缩写名称(例如,Sun、Mon、Tue等)。
  • dddd:一周中某一天的全名(例如,星期日、星期一、星期二等)。
  • M:月份为一位数或两位数(例如1、2、3、11、12等)。
  • MM:月份为两位数(例如01、02、03、11、12等)。
  • MMM:月份的缩写名称(例如Jan、Feb、Mar等)。
  • MMMM:月份的全名(例如January、February、March等)。
  • y:两位数表示的年份(例如20、21等)。
  • yy:两位数的年份(例如20、21等)。
  • yyyy:四位数的年份(例如2020、2021等)。

日期格式:
1.“日/月/年”:'2021年1月1日'(2021年1月1日)
1.“年、月、日、日”:'2021年1月4日星期一'(2021年1月4日)
1.“年/月/日”:'01/04/21'(2021年1月4日)

1tu0hz3e

1tu0hz3e4#

URL复制代码并将其保存在库中的任意位置。使用代码

CustomCupertinoDatePicker(
            mode: CustomCupertinoDatePickerMode.yearAndMonth,
            dateOrder: DatePickerDateOrder.dmy,
            backgroundColor: Colors.black54,
            onDateTimeChanged: (date) {
              print(date);
            },
          )

相关问题