【问题标题】:How to get date of specific day of the week in Flutter/dart?如何在 Flutter/dart 中获取一周中特定日期的日期?
【发布时间】:2019-03-15 11:50:38
【问题描述】:

我正在 Flutter 中编写应用程序,需要获取最近星期一的日期。
我在整个网络上进行了搜索,但找不到任何解决问题的方法。

任何帮助将不胜感激

【问题讨论】:

  • docs.flutter.io/flutter/dart-core/DateTime-class.html 当我在网上搜索您的查询时,出现了这个链接。是这个吗?
  • 分享您的研究对每个人都有帮助。告诉我们您尝试了什么以及为什么它不能满足您的需求。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask
  • @Damien 对不起,下次看到我的问题已经解决了,我会这样做。感谢您的提示,对于 StackOverflow 来说还是个新手。

标签: dart flutter


【解决方案1】:

试试这个:

void main()
{
  var monday=1;
  var now = new DateTime.now();

  while(now.weekday!=monday)
  {
      now=now.subtract(new Duration(days: 1));
  }

  print('Recent monday $now');
}

【讨论】:

  • 这似乎做到了,谢谢!现在看到这个我自己也可以想到这个哈哈哈
  • @muddassir 不错的解决方案,从现在开始获得前两个、三个等星期的星期一日期的任何想法。减去7天是可行的解决方案吗?但是对于月份也需要使用相同的逻辑,但我们可能会得到 28 天、30 天或 31 天。知道吗?
【解决方案2】:

试试这个:

var dayOfWeek = 1;
DateTime date = DateTime.now();
var lastMonday = date.subtract(Duration(days: date.weekday - dayOfWeek)).toIso8601String(); 

dayOfWeek 为 1 表示周一,2 表示周二,依此类推。

【讨论】:

  • 不错的解决方案!此外,您还可以使用 dart 已经提供的静态值,如 DateTime.monday、DateTime.tuesday 等。
猜你喜欢
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-14
  • 2013-06-18
  • 1970-01-01
相关资源
最近更新 更多