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