首页 > 解决方案 > Flutter - showDatePicker 将一周的第一天设置为星期一

问题描述

我正在使用颤振showDatePicker小部件https://api.flutter.dev/flutter/material/showDatePicker.html

默认情况下,当日期选择器弹出窗口加载时,一周的开始是星期日,我想将其更改为星期一。

关于如何实现这一目标的任何建议?

Future<void> _selectDate(BuildContext context) async {
    final DateTime picked = await showDatePicker(
      context: context,
      initialDate: _selectedDate,
      firstDate: firstDate,
      lastDate: lastDate,
      locale: const Locale('en', 'GB'),
    );
    if (picked != null && picked != _selectedDate) {
      // update the calendar slider with new date
      setState(() {
        _selectedDate = picked.add(Duration(hours: 1));
      });
    }

在此处输入图像描述

标签: flutter

解决方案


添加一个locale使用星期一作为一周的第一天的,例如:

  Future<DateTime> selectedDate = showDatePicker(
    context: context,
    locale: const Locale('en', 'GB'),
    // etc

您还必须添加本地化库,如此所述,将其添加到您的MaterialApp

  localizationsDelegates: GlobalMaterialLocalizations.delegates,
  supportedLocales: [
    const Locale('en', 'US'),
    const Locale('en', 'GB'),
  ],

推荐阅读