date - Flutter/Dart - 在输入表单中格式化日期
问题描述
如何格式化日期并从以下位置更改:
只是 dd/mm/yyyy?
输入域代码:
textFields.add(
GestureDetector(
onTap: () => _selectDate(context),
child: AbsorbPointer(
child: TextFormField(
style: TextStyle(
fontSize: 12.0
),
controller: _date,
keyboardType: TextInputType.datetime,
decoration: InputDecoration(
isDense: true,
fillColor: Colors.white,
hintText: 'Date of Birth',
filled: true,
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(width: 0.0),
),
contentPadding: const EdgeInsets.only(left: 14.0, bottom: 10.0, top: 10.0),
),
onSaved: (value) => _dateOfBirth = value,
),
),
));
_selectDate 方法:
DateTime selectedDate = DateTime.now();
TextEditingController _date = new TextEditingController();
Future<Null> _selectDate(BuildContext context) async {
final DateTime picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime(1901, 1),
lastDate: DateTime(2100));
if (picked != null && picked != selectedDate)
setState(() {
selectedDate = picked;
_date.value = TextEditingValue(text: picked.toString());
});
}
解决方案
您可以使用intl 包DateFormat
的类。您必须在. 最新版本可以在这里找到。intl: ^0.16.1
pubspec.yaml
您可以指定希望日期输出的确切格式。
前任。
import 'package:intl/intl.dart';//Import intl in the file this is being done
Future<Null> _selectDate(BuildContext context) async {
DateFormat formatter = DateFormat('dd/MM/yyyy');//specifies day/month/year format
final DateTime picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime(1901, 1),
lastDate: DateTime(2100));
if (picked != null && picked != selectedDate)
setState(() {
selectedDate = picked;
_date.value = TextEditingValue(text: formatter.format(picked));//Use formatter to format selected date and assign to text field
});
}
推荐阅读
- python - Flask Restful:将 CSV 文件转换为 JSON 对象
- r - R - 如何迭代 4D 矩阵的每个切片
- sql-server-express - SQL Server Management Studio 未打开文件
- javascript - Tabulator - How to Clear a Selector Filter
- laravel - Laravel / Zend Barcode render strange codebar
- python - 在神经科学实验中集成实验室笔记本、实验设置规范、行为跟踪和 ephys 数据
- .net-core - .NET Core 覆盖特定操作的控制器级别授权属性
- firebase - 遍历 Firestore 集合求和值上的文档的最佳方法是什么?
- enums - swift 4.2 - 如果var具有有效的枚举值,我如何检查guard
- python - Python: Sort by Nested Dictionary Value (no categories)