Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 要想确定一周中的哪一天,就需要使用Dart_Date_Calendar_Format_Dart - Fatal编程技术网

Date 要想确定一周中的哪一天,就需要使用Dart

Date 要想确定一周中的哪一天,就需要使用Dart,date,calendar,format,dart,Date,Calendar,Format,Dart,我正在使用Dart制作一个简单的事件日历,我想确定每个月的第一天是在一周中的哪一天。所以我有这个函数 int firstdayofmonthfallsonthistdayofweek(int年,int月){ int DayOfWeek=0; DateTime theDate=新的日期时间(年、月、1、0、0、0); DateFormat df=新的日期格式('E'); 开关(df.format(theDate.toUpperCase()){ “星期日”一案: DayOfWeek=1; 打破 案件

我正在使用Dart制作一个简单的事件日历,我想确定每个月的第一天是在一周中的哪一天。所以我有这个函数

int firstdayofmonthfallsonthistdayofweek(int年,int月){
int DayOfWeek=0;
DateTime theDate=新的日期时间(年、月、1、0、0、0);
DateFormat df=新的日期格式('E');
开关(df.format(theDate.toUpperCase()){
“星期日”一案:
DayOfWeek=1;
打破
案件“星期一”:
DayOfWeek=2;
打破
案件“星期二”:
每周一天=3;
打破
案件“星期三”:
每周一天=4;
打破
案件“星期四”:
星期五=5天;
打破
案件“星期五”:
星期五=6天;
打破
“星期六”一案:
每周一天=7;
打破
}
星期五返回日;
}
要使用DateFormat,我必须

import'包:intl/date_格式.dart';
当然,我在我的pubspec.yaml中导入intl。然而,当我运行这个时,我得到一个错误

Internal error: '.../dart/cdkCalendar/web/out/packages/intl/date_format.dart':     
Error: line 5 pos 6: url expected
part of intl;

这是这个软件包的错误吗?或者我做错了什么我看不见的事。此外,如果有人知道一个更好的方法来完成我正在尝试做的事情,那也将非常感谢。谢谢。

我不确定您为什么会收到错误消息,但这里有一个更简单(未经测试)的版本:

int firstdayofmonthfallsonthistdayofweek(int年,int月){
//使用小时数!=0可避免日光节约问题。不应为
//一个月的第一个问题,但仍然是良好的做法。
返回新的日期时间(年、月、1、12)。工作日;
}

我不确定您为什么会收到错误消息,但这里有一个更简单(未测试)的版本:

int firstdayofmonthfallsonthistdayofweek(int年,int月){
//使用小时数!=0可避免日光节约问题。不应为
//一个月的第一个问题,但仍然是良好的做法。
返回新的日期时间(年、月、1、12)。工作日;
}

您不需要Intl:


int firstdayofmonthfallsonthistdayofweek(int年,int月)=>新日期时间(年,月,1)。工作日

您不需要Intl:


int firstdayofmonthfallsonthistdayofweek(int年,int月)=>新日期时间(年,月,1)。工作日

嗯,我找到了出错的原因——我无法导入“部件”。然而,当我尝试导入“intl/intl.dart”时,我遇到了几个错误,所以我假设这个库可能还没有完成?无论如何,我发现

DateTime.weekday;
…将返回该月开始的星期几的编号。然而,它从星期一1开始。我个人发现阿克沃德,因为我见过的每个日历都是从星期天开始的,历史上星期天是一周的第一天。所以,在任何情况下,我只是修改了我的函数,以便它更正星期天开始的一周中的某一天

int\u FirstDayOfMonthDayOfWeek(){
DateTime theDate=新的日期时间(_theDate.year,_theDate.month,1,0,0,0);
返回(theDate.weekday==7)?1:theDate.weekday+1;
}

好吧,我找到了出错的原因——我无法导入“部件”。然而,当我尝试导入“intl/intl.dart”时,我遇到了几个错误,所以我假设这个库可能还没有完成?无论如何,我发现

DateTime.weekday;
…将返回该月开始的星期几的编号。然而,它从星期一1开始。我个人发现阿克沃德,因为我见过的每个日历都是从星期天开始的,历史上星期天是一周的第一天。所以,在任何情况下,我只是修改了我的函数,以便它更正星期天开始的一周中的某一天

int\u FirstDayOfMonthDayOfWeek(){
DateTime theDate=新的日期时间(_theDate.year,_theDate.month,1,0,0,0);
返回(theDate.weekday==7)?1:theDate.weekday+1;
}
您可以试试这个

List<String> weekdays = [
  'Monday',
  'Tuesday',
  'Wednesday',
  'Thurday',
  'Friday',
  'Saturday',
  'Sunday'
];
var now = DateTime.parse(DateTime.now().toString()).weekday;
return weekdays[now];
列出工作日=[
“星期一”,
"星期二",,
“星期三”,
“星期四”,
“星期五”,
“星期六”,
“星期日”
];
var now=DateTime.parse(DateTime.now().toString()).weekday;
返回工作日[现在];
您可以试试这个

List<String> weekdays = [
  'Monday',
  'Tuesday',
  'Wednesday',
  'Thurday',
  'Friday',
  'Saturday',
  'Sunday'
];
var now = DateTime.parse(DateTime.now().toString()).weekday;
return weekdays[now];
列出工作日=[
“星期一”,
"星期二",,
“星期三”,
“星期四”,
“星期五”,
“星期六”,
“星期日”
];
var now=DateTime.parse(DateTime.now().toString()).weekday;
返回工作日[现在];

谢谢,我终于找到了答案,并打算发布答案,但我还是新来的,所以我几个小时都不能发布。谢谢,我终于找到了答案,并打算发布答案,但我还是新来的,所以几个小时都不能发布。几乎所有非美国国家都将周一作为一周的第一天,这就是ISO8601选择的一周的第一天。如果您希望星期天作为第一天,只需使用模:weekday%7(如果您需要基于1的工作日,可能需要+1)。几乎所有非美国国家都使用星期一作为一周的第一天,这也是ISO 8601选择的一周的第一天。如果您希望周日作为第一天,只需使用模:weekday%7(如果您需要基于1的工作日,则可能需要+1)。