我在 flutter 中有一个日期字符串,我试图添加周、月和年,但不知道该怎么做。
在android java中,我们可以通过以下方式添加周、月、年
Calendar cal = Calendar.getInstance();
cal.setTime('2019-09-04');
cal.add(Calendar.WEEK_OF_MONTH,1); // add one week
cal.add(Calendar.WEEK_OF_MONTH, 2 ); // add two weeks
cal.add(Calendar.MONTH, 1); // add # of month
cal.add(Calendar.MONTH, 3); // add 3 months
cal.add(Calendar.YEAR, 1); // add 1 year
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何在颤振中添加它。我知道我可以使用持续时间,但它只接受天数 cal.add(new Duration(days: 30)); 如果我使用持续时间,那么我需要计算出一个月、一周或一年中有多少天,这更多是数学问题。使用android java中的上述代码,添加周、月或年将由android执行。flutter 有没有办法在日期上添加周、月或年?
例如:如果我的日期是 01/31/2019 并且我想添加一个月,那么新日期应该是 02/28/2019。如果我想在 02/28/2019 上添加一个月,那么输出应该是 03/31/2019
几周甚至几年都是如此。如果指定的话,flutter 应该在日期上添加一周或一年等等。提前致谢
您可以在这篇中等文章中找到您需要的一切: 前 7 种日期方法
假设您有“2019-09-04”,在 Dart 中您有:
var myDate = DateTime.parse("2019-09-04 20:18:04Z");
myDate.add(Duration(days: 10, hours: 5)));
Run Code Online (Sandbox Code Playgroud)
然后打印出来:
print(myDate.toLocal());
Run Code Online (Sandbox Code Playgroud)
编辑:
由于您在下面发表评论,要添加年份或月份,请执行以下操作:
var date = new DateTime(2019, 9, 4);
var newDate = new DateTime(date.year + 1, date.month + 2, date.day);
Run Code Online (Sandbox Code Playgroud)
您可以在这里找到类似的答案:Add/Substract Months/years to date in dart?
| 归档时间: |
|
| 查看次数: |
10459 次 |
| 最近记录: |