Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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
Flutter 使用月份的第一天作为1(整数)_Flutter_Dart - Fatal编程技术网

Flutter 使用月份的第一天作为1(整数)

Flutter 使用月份的第一天作为1(整数),flutter,dart,Flutter,Dart,我正在尝试使用颤振框架构建我的第一个应用程序。该应用程序是关于我的年终挑战。从2019年9月1日开始,将持续到今年年底 我想实现的是——我想显示挑战期的当前天数。9月1日是第一天,9月30日是第30天,10月1日是第31天,依此类推 我想把9月的第一天分配给1号。然后使用循环,我希望应用程序将当天更新为当前日期。当当天等于122时,循环将停止,因为这将是挑战的最后一天 这是UI的屏幕截图 在你使用的函数中 int noOfDay(){ var todayDate = DateTime.now

我正在尝试使用颤振框架构建我的第一个应用程序。该应用程序是关于我的年终挑战。从2019年9月1日开始,将持续到今年年底

我想实现的是——我想显示挑战期的当前天数。9月1日是第一天,9月30日是第30天,10月1日是第31天,依此类推

我想把9月的第一天分配给1号。然后使用循环,我希望应用程序将当天更新为当前日期。当当天等于122时,循环将停止,因为这将是挑战的最后一天

这是UI的屏幕截图

在你使用的函数中

int noOfDay(){
  var todayDate = DateTime.now();
  final firstSeptember = DateTime.utc(2019, DateTime.september, 1);
  var difference = todayDate.difference(firstSeptember);
  return difference.inDays + 1;
}
说明:

得到今天的日期

var todayDate = DateTime.now();
您已经有了开始日期,即

final firstSeptember = DateTime.utc(2019, DateTime.september, 1);
你所需要做的就是减法

var difference = todayDate.difference(firstSeptember);
int daysCompleted = difference.inDays + 1; 

这起作用了。非常感谢您添加解释@我在代码上遇到了一个小错误。var差分给出了utc的差分。我在今天和9月1日添加了toLocal,但仍然相差5:30小时。如何获取本地时区差异@你能用更多的数字和细节来编辑你的问题吗?我很乐意帮助.var todayDate=DateTime.now;是IST中的返回日期,而final first九月=DateTime.utc219,09,01;正在返回UTC的日期。我知道它运行正常。现在,var difference=todayDate.differencefirst九月;也返回UTC中的日期,但我希望它返回IST。因为在我的应用程序中,一天在上午5:30改变,而它应该在上午12:00改变。顺便说一句,我来自印度。UTC比IST晚5:30小时@CopsOnRoad@ManishPaul这是因为您使用的是DateTime.utc219,09,01,只需删除utc并使用DateTime2019,09,01即可。
var difference = todayDate.difference(firstSeptember);
int daysCompleted = difference.inDays + 1;