可以通过
在Java中完成com.ibm.icu.util.Calendar.getInstance(Locale alocale).getFirstDayOfWeek()
在Dart中有没有相同的方法来获取它?
答案 0 :(得分:4)
刚刚找到它:
https://github.com/dart-lang/intl/blob/master/lib/date_symbol_data_local.dart
搜索“FIRSTDAYOFWEEK”,并不难弄清楚如何使其工作。
答案 1 :(得分:2)
使用Flutter,您只能使用:
MaterialLocalizations.of(context).firstDayOfWeekIndex;
答案 2 :(得分:1)
我不知道如何使它工作。鲍勃,如果您可以分享您的解决方案,那就太好了。
这里是我在Flutter中使用的
GlobalMaterialLocalizations.delegate
.load(locale)
.then((MaterialLocalizations materialLocalizations)
{
print("${materialLocalizations.firstDayOfWeekIndex}");
});
答案 3 :(得分:1)
这东西对我有用
DateTime today = DateTime.now();
_firstDayOfTheweek = today.subtract(new Duration(days: today.weekday));
答案 4 :(得分:0)
要获取一周的第一天和一周的最后一天:
print("today is day: ${DateTime.now().weekday}");
print(
"monday is day: ${DateTime.now().subtract(Duration(days: DateTime.now().weekday - 1))}");
print(
"sunday is day: ${DateTime.now().add(Duration(days: DateTime.now().weekday - 1))}");
答案 5 :(得分:0)
经过长时间的漫长搜索,我发现jiffy
解决了我的问题。您可以将其与Intl
一起使用,并获得所需的内容。
只需在main.dart中将其初始化
void main() async {
Intl.defaultLocale = Intl.systemLocale; // Define the default locale as System Locale
await Jiffy.locale(Intl.defaultLocale); // Define Jiffy locale
runApp(MyApp());
}
然后,您可以使用Jiffy
函数获取一周的开始和结束
print(Jiffy(date).startOf(Units.WEEK));
print(Jiffy(date).endOf(Units.WEEK));