Son*_*vli 11 datetime dart flutter
如您所见,我有一个自定义的 DatePicker 小部件,它采用DateTime类型的当前时间。
DatePickerWidget(
currentTime: DateTime.now(),
text: "$date1",
onChanged: (date) {
setState(() {
getProductDate(date.toString());
this.date1 = date.toString();
});
},
onConfirm: (date) {
setState(() {
getProductDate(date.toString());
this.date1 = date.toString();
});
},
),
Run Code Online (Sandbox Code Playgroud)
但它也给了我毫秒。
结果
YYYY-MM-JJ HH-MM:00.000
如何删除 DateTime 类型中的 :00.000 部分?
我只想采用这种格式:'yyyy-MM-dd'。
但currentTime仅获取DateTime类型。
有什么想法吗?
我的 DatePickerWidget 代码:
class DatePickerWidget extends StatelessWidget {
final Function(DateTime data) onChanged;
final Function(DateTime data) onConfirm;
final String text;
final DateTime currentTime;
const DatePickerWidget(
{Key key, this.onChanged, this.onConfirm, this.text, this.currentTime})
: super(key: key);
@override
Widget build(BuildContext context) {
return ButtonWidget(
onPressed: () {
DatePicker.showDatePicker(context,
theme: DatePickerTheme(
containerHeight: context.dynamicHeight(0.3),
),
showTitleActions: true,
minTime: DateTime(2021, 1, 1),
maxTime: DateTime(2028, 12, 29),
onChanged: onChanged,
onConfirm: onConfirm,
currentTime: currentTime,
locale: LocaleType.tr);
},
text: text,
buttonColor: Colors.white,
borderColor: Colors.black,
textColor: Colors.black,
);
}
}
Run Code Online (Sandbox Code Playgroud)
Cha*_*leb 10
您可以DateFormat从intl包中使用。
import \'package:intl/intl.dart\';\n\nDateTime now = DateTime.now();\nString formattedDate = DateFormat(\'yyyy-MM-dd \xe2\x80\x93 kk:mm\').format(now);\nRun Code Online (Sandbox Code Playgroud)\n您也可以在不添加依赖项的情况下完成
\nDateTime.now()\n .toString()\n .substring(0,10)\n ); \nRun Code Online (Sandbox Code Playgroud)\n0
\n尝试Jiffy,以更轻松地处理日期和时间
要格式化您的日期时间,只需传入您的结果date,请参见下文
this.date1 = Jiffy.parseFromDateTime(date).format('yyyy-MM-dd'); // 2021-03-24
// or you can also use default formats
this.date1 = Jiffy.parseFromDateTime(date).yMMMMd; // March 24, 2021
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13730 次 |
| 最近记录: |