【发布时间】:2020-01-07 12:03:09
【问题描述】:
我在颤振中有一个日期字符串,我试图添加周、月和年,但不知道该怎么做。
在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
但是,我不知道如何在颤振中添加它。我知道我可以使用持续时间,但它只接受天数 cal.add(new Duration(days: 30)); 如果我使用持续时间,那么我需要计算出一个月、一周或一年中有多少天,这更多的是数学。在 android java 中使用上述代码,android 将采用周数、月数或年数。有没有办法让 Flutter 为日期添加周、月或年?
例如:如果我有 2019 年 1 月 31 日并且我想添加一个月,那么新日期应该是 2019 年 2 月 28 日。如果我想在 2019 年 2 月 28 日添加一个月,那么输出应该是 2019 年 3 月 31 日
数周乃至数年也是如此。如果指定,颤振应该在日期上添加一周或一年等等。提前致谢
【问题讨论】:
-
也许你可以弄清楚时间规则,为它制作一个插件,或者考虑使用existed calandar plugin。根据我的经验,在 dart 中没有与
Calendar等效的类。 -
顺便说一句,Java 中可怕的
Calendar类已被 JSR 310 中定义的现代 java.time 类取代多年,特别是ZonedDateTime。LocalDate.parse( "2019-09-04" ).plusMonths( 3 ).plusWeeks( 2 )
标签: flutter