如何在颤抖的默认日期选择器中删除时间戳或仅获取日期形式的日期选择器? [英] how to remove time stamp or get only date form datepicker in flutter default datepicker?

查看:112
本文介绍了如何在颤抖的默认日期选择器中删除时间戳或仅获取日期形式的日期选择器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从flutter的默认datepicker小部件中获取日期,但是当我选择日期时,就会得到时间。
我只想要日期而不是时间。 &

I am trying to get date from default datepicker widget of flutter but when i select date i get time with it. I only want date not time. & would also like to change date format if possible.

这是我在某处示例中使用的格式。

This is what i have used from example somewhere.

DateTime selectedDate = DateTime.now();

Future<Null> _selectDate(BuildContext context) async {
    final DateTime picked = await showDatePicker(
        context: context,
        initialDate: selectedDate,
        firstDate: DateTime(2019),
        lastDate: DateTime(2020));
    if (picked != null && picked != selectedDate)
      setState(() {
        selectedDate = picked;
      });
  }

这是我获得价值的地方。
它打印像 2019-04-16 12:18:06.018950

This is where I am getting value to string. It prints like "2019-04-16 12:18:06.018950"

child: FlatButton(
                        materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
                        onPressed: () {
                          _selectDate(context);
                          print("Selected Date = $selectedDate");
                        },
                        child: Text(selectedDate == null
                            ? "Select Date"
                            : selectedDate.toString()),
                      )),

我要从此 2019-04-16 12:18:06.018950中仅仅日期,并更改日期显示的格式,例如 dd-mm-yyyy

I want only date from this "2019-04-16 12:18:06.018950" and also change the format of date displaying like "dd-mm-yyyy"

这可能吗?

推荐答案

我制作了Custom DateFormat,可以使用此代码,然后将输出为:
16-04-2019

I make the Custom DateFormat you can use this code then you will get the Output as : 16-04-2019

TextEditingController _datecontroller = new TextEditingController();

var myFormat = DateFormat('d-MM-yyyy');

Future<void> _selectDate(BuildContext context) async {
    final DateTime picked = await showDatePicker(
        context: context,
        initialDate: date,
        firstDate: DateTime(2015, 8),
        lastDate: DateTime(2101));
    setState(() {
      date = picked ?? date;
    });
  }

Inkwell小部件就是这样

and Inkwell widget goes like this

InkWell(
  onTap: () => _selectDate(context),
  child: IgnorePointer(
    child: TextField(
      controller: _datecontroller,
      decoration: InputDecoration(

        hintText: ('${myFormat.format(date)}'),
      ),

    ),
  ),
),

这篇关于如何在颤抖的默认日期选择器中删除时间戳或仅获取日期形式的日期选择器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆