我遇到了一个问题,格式化日期的日视图在德国的格式。它总是显示在yyyy-MM-dd,但我想你使用的格式是dd. MM. yyyy。我尝试了一些事情,但没有工作,我想。起初我的日期格式如下
String datumDesTages = DateFormat.yMd('de_DE').format(DateTime.now());
这个方法很好用,所以date显示为dd. MM. yyyy。2但是对于DayTime,我需要一个DateTime,所以我试着像下面这样解析它:
DateTime datumDesTagesDateTime =
Intl.withLocale('de', () => DateFormat().parse(datumDesTages));
但我得到了错误
The following FormatException was thrown building EventSet(dirty, state: _EventSetState#95b2d):
Trying to read . from 12.2.2023 at position 4
整个代码是:
lass _EventSetState extends State<EventSet> {
@override
Widget build(BuildContext context) {
String datumDesTages = DateFormat.yMd('de_DE').format(DateTime.now());
//String datumDesTagesString = datumDesTages.format(DateTime.now());
DateTime datumDesTagesDateTime =
Intl.withLocale('de', () => DateFormat().parse(datumDesTages));
//DateFormat('d.M.y').parse(datumDesTagesString));
return Scaffold(
appBar: AppBar(
title: Text('Termin setzen'),
),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
Expanded(
child: Container(
child: DayView(
date: datumDesTagesDateTime,
style: DayViewStyle.fromDate(
date: datumDesTagesDateTime,
headerSize: 20,
),
),
),
),
// EventDetailScreen(),
],
),
),
floatingActionButton: FloatingActionButton(
child: Icon(
Icons.add,
color: Colors.blue,
),
backgroundColor: Colors.red[50],
onPressed: () {
Navigator.of(context).pushNamed(EventDetailScreen.routeName);
},
),
);
}
}
我不知道如何解决这个问题,谢谢你的帮助。
向帕特里克问好
1条答案
按热度按时间qni6mghb1#
您需要首先加载适合您的语言的数据。
查看https://pub.dev/packages/intl的自述文件
请注意,在为特定区域设置执行任何DateTime格式设置之前,必须通过调用加载适当的数据。