有subtract()
方法,但是文档说它不知道夏令时,这使它在这种情况下或在其他任何情况下都变得毫无用处,除非程序员不知道24小时内有多少毫秒。
我在想两种方法:
得到月中的某天,然后从中减去N,如果它小于1,则在适当的时候减去月和年,并将天设置为最后一个月的最后一天
要么
从当天中午减去N天,然后从当天开始算起
有一些更简单/更好的方法吗?
最佳答案
您可能应该尝试将两个DateTimes都转换为UTC(标准化),然后调用difference()。这样可以将其转换为美观,轻松的工期,您可以根据需要将其转换为小时,天,月或其他任何时间。
DateTime one = somedatetime.toUtc();
DateTime two = someotherdatetime.toUtc();
Duration diff = one.difference(two);
//Then just convert...
return diff.inDays;
关于dart - 如何在Dart的DateTime中获取N天前?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58341425/